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.