From a753f04e42d368f1fbcee43f94a481d57e204bb1 Mon Sep 17 00:00:00 2001 From: joshellis625 <4002542+joshellis625@users.noreply.github.com> Date: Mon, 9 Feb 2026 07:52:05 -0500 Subject: [PATCH] ci: cancel stale in-progress runs on new pushes --- .github/workflows/ci.yml | 4 ++++ CONTRIBUTING.md | 1 + JChat/Documentation/CHANGELOG_INTERNAL.md | 1 + 3 files changed, 6 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4ad4d15..c8750b8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,6 +5,10 @@ on: branches: [main] workflow_dispatch: +concurrency: + group: ci-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: build-and-test: name: Build and Test (macOS) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 94fe838..337bff6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -39,4 +39,5 @@ Before merging: ## CI/CD Scope for Now - CI is required. - We currently run minimal safety checks (build + `JChatTests` on GitHub Actions). +- CI cancels stale in-progress runs on the same branch when newer commits are pushed. - Full CD/release automation is intentionally deferred. diff --git a/JChat/Documentation/CHANGELOG_INTERNAL.md b/JChat/Documentation/CHANGELOG_INTERNAL.md index c39ab17..f4f2f66 100644 --- a/JChat/Documentation/CHANGELOG_INTERNAL.md +++ b/JChat/Documentation/CHANGELOG_INTERNAL.md @@ -12,3 +12,4 @@ - Replaced abrupt setup blocking with a first-run readiness checklist for API key and default model in `ContentView`. - Added a canonical manual regression checklist for chat, setup guardrails, markdown, and settings persistence flows. - Hardened chat usage accounting by clamping token/cost totals at zero during delete/regenerate paths. +- Optimized CI with workflow concurrency to auto-cancel stale in-progress runs per branch.