Repository navigation
Conversation
queue keyqueue key
GitHub Actions shipped a new `queue` key under the `concurrency` section to allow pending workflow runs to queue instead of being cancelled. Allowed values are "max" and "single" (default). The combination of `queue: max` with `cancel-in-progress: true` is not permitted. Reference: https://docs.github.com/en/actions/how-tos/write-workflows/choose-when-workflows-run/control-workflow-concurrency#example-queueing-multiple-pending-runs Signed-off-by: Paweł Gronowski <git@grono.dev>
e7ae0d6 to
644076a
Compare
|
This is now official, updated the commit message |
|
@rhysd PTAL when you have a chance! 🤗 |
gh-aw v0.76.1 emits `concurrency.queue` in compiled `*.lock.yml` workflows, but actionlint v1.7.12 (latest) does not yet recognize the key. Add a scoped ignore pattern under the existing `.github/workflows/*.lock.yml` paths block so YAML lint passes on PRs that include recompiled lock files. Remove the pattern once rhysd/actionlint#654 lands. Refs #1689
|
@rhysd is it possible to get this included in a next release? |
|
@rhysd could this be merged, please? |
|
I sent a ping on X, and @rhysd said, "I will try to make some time this weekend." So, please wait until the weekend. |
actionlint v1.7.11 does not yet recognize the queue key in concurrency sections. Add .github/actionlint.yml to ignore this specific error until rhysd/actionlint#654 is merged and released. Signed-off-by: Dan Calavrezo <195309321+dcalavrezo-qorix@users.noreply.github.com>
actionlint v1.7.11 does not yet recognize the queue key in concurrency sections. Add -ignore flag to the pre-commit hook until rhysd/actionlint#654 is merged and released. Signed-off-by: Dan Calavrezo <195309321+dcalavrezo-qorix@users.noreply.github.com>
…132) Add queue: max to the docs-deploy concurrency group so that pending runs are queued rather than skipped. actionlint v1.7.11 does not yet recognize the queue key in concurrency sections. Add .github/actionlint.yml to ignore this specific error until rhysd/actionlint#654 is merged and released. Signed-off-by: Dan Calavrezo <195309321+dcalavrezo-qorix@users.noreply.github.com>
## What PR-A1 of the approved claude-review-lanes plan (`docs/topics/claude-review-lanes/PLAN.md`, committed here) — structural, behavior-preserving: - **Three composite actions** extracted from the review lanes' embedded steps, unreferenced until PR-A2 repoints the reusables at this PR's merge SHA (self-reference pins resolve only post-merge): - `claude-lane-freshness` — live superseded-head guard (github-script). - `claude-lane-outcome` — outcome reporter with the infra-failure classifier rewritten from the generated bash/jq embed into `classify.cjs` on the github-script runtime (resolves the plan's F7: no more jq/runner-tool dependency). Full 23-case shell corpus ported to `node --test` (`classify.test.cjs`, co-located; wired into ci.yml). - `claude-lane-marker-comment` — marker-comment lifecycle (upsert on failure / clear on success), owning the fork-PR guard; lane strings are inputs. - **`.github/actionlint.yaml`** — pre-approved suppression for actionlint 1.7.12's rejection of the GA `concurrency.queue` key (rhysd/actionlint#654), scoped to that one syntax-check message, with removal trigger. Probe evidence in PLAN.md Phase 0. - **PLAN.md** — plan artifact + Phase 0 probe results (queue serialization on all three shapes, ready_for_review draft payload, kill-switch skip conclusions). The four generated-embed classifier files (`classify-infra-failure.*`, `render-classify-infra-failure.*`) retire in PR-A2 with the embed replacement — the render tripwire still guards the live embeds until then. No linked issue (the plan's issue sweep closes #150/#158/#227/#242 at Phase 3f). ## Related - `docs/topics/claude-review-lanes/PLAN.md` — the approved plan; this is Phase 2 PR-A1. - melodic-software/standards#278 — Phase 1 (REVIEW.md lane scoping), merged separately. - rhysd/actionlint#654 — upstream gap behind the actionlint suppression. ## Verification - `node --test .github/actions/claude-lane-outcome/*.test.cjs` — 10/10 pass (ported corpus). - `node --test .github/scripts/*.test.cjs` — 273 pass; `bash .github/scripts/classify-infra-failure.test.sh` still green (untouched here). - zizmor on all three new action files — no findings. - actionlint 1.7.12 with the new config: queue suppression verified empirically (exit 0 with config, exit 1 without). 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
ci-workflows is a manifest target carrying its own .github/actionlint.yaml — the canonical origin this component's content mirrors — yet had no actionlint classification, which the ownership model reads as "not classified". Marks it locally-owned so the most relevant repo is deliberately classified; the removal trigger on rhysd/actionlint#654 fires there too. Plan output for ci-workflows confirms no materialization: "locally-owned actionlint (not modified)". Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
We hit this in production at Noetive. Two of our deploy workflows share a concurrency group with
actionlint is a required check for us, so for now we carry a narrow |
queue:key for concurrency #657GitHub Actions shipped a new
queuekey under theconcurrencysection to allow pending workflow runs to queue instead of being cancelled.Allowed values are "max" and "single" (default).
The combination of
queue: maxwithcancel-in-progress: trueis not permitted.Reference: https://docs.github.com/en/actions/how-tos/write-workflows/choose-when-workflows-run/control-workflow-concurrency#example-queueing-multiple-pending-runs