diff --git a/.github/workflows/apk.yml b/.github/workflows/apk.yml index 46e3623c..f8f17b15 100644 --- a/.github/workflows/apk.yml +++ b/.github/workflows/apk.yml @@ -11,8 +11,19 @@ on: # someone remembering to dispatch the workflow by hand. - feat/disaggregated - codex/fix-github-ci + # A docs-only push builds nothing this workflow tests (231 emulator legs per run). The Test + # workflow keeps running for docs: it hosts the doc citation lint. + paths-ignore: + - 'docs/**' + - '**/*.md' workflow_dispatch: +# ONE LIVE RUN PER BRANCH, as in test.yml: a superseded push is cancelled rather than left queued +# behind its successor; a manual dispatch gets a group of its own; dev queues rather than cancels. +concurrency: + group: ${{ github.workflow }}-${{ github.event_name == 'workflow_dispatch' && github.run_id || github.ref }} + cancel-in-progress: ${{ github.event_name == 'push' && github.ref != 'refs/heads/dev' }} + jobs: build: runs-on: ubuntu-latest diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fa4f37e8..758e9b77 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,6 +21,15 @@ on: required: false default: "087685d1" +# ONE LIVE RUN PER BRANCH. The disaggregation branch pushes (often docs-only) commits minutes apart +# and each push fans out to ~330 retrace legs here and ~275 jobs in apk.yml; with no group, runs +# sat queued for 10+ hours behind their own successors. A manual dispatch gets a group of its own, +# so a push never cancels a hand-started baseline (monolith-symbol-report) run; dev queues rather +# than cancels. No paths-ignore here, unlike apk.yml: this workflow hosts the doc citation lint. +concurrency: + group: ${{ github.workflow }}-${{ github.event_name == 'workflow_dispatch' && github.run_id || github.ref }} + cancel-in-progress: ${{ github.event_name == 'push' && github.ref != 'refs/heads/dev' }} + jobs: build-linux: runs-on: ubuntu-latest