-
Notifications
You must be signed in to change notification settings - Fork 327
ci: improve workflows #2288
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
ci: improve workflows #2288
Changes from all commits
763bff7
f656482
5f4fe44
9107b59
64703da
97b48c0
1ade1b8
78cfcc2
5c71993
7d79bc1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -10,11 +10,17 @@ on: | |||||||||||||||
|
|
||||||||||||||||
| permissions: {} | ||||||||||||||||
|
|
||||||||||||||||
| concurrency: | ||||||||||||||||
| group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.number || github.ref }} | ||||||||||||||||
| cancel-in-progress: false | ||||||||||||||||
|
Comment on lines
+13
to
+15
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
printf 'Workflow file:\n'
if [ -f .github/workflows/release-nightly.yml ]; then
cat -n .github/workflows/release-nightly.yml | sed -n '1,80p'
else
echo 'missing'
fi
printf '\nOther workflow concurrency snippets:\n'
rg -n "concurrency:|queue:|cancel-in-progress:" .github/workflows || true
printf '\nCurrent workflow trigger summary:\n'
python3 - <<'PY'
from pathlib import Path
p=Path('.github/workflows/release-nightly.yml')
if not p.exists():
print('missing')
raise SystemExit
for i,line in enumerate(p.read_text().splitlines(),1):
if i<=40 and any(s in line for s in ['on:', 'workflow_dispatch', 'push', 'schedule', 'concurrency']):
print(f'{i}: {line}')
PYRepository: nuxt/image Length of output: 3118 🌐 Web query:
💡 Result: In GitHub Actions, the behavior of a concurrency group when cancel-in-progress is false depends entirely on whether you are using the default single-queue behavior or the recently introduced extended queuing capability [1][2]. Default Behavior (Implicit queue: single) When you set cancel-in-progress: false (or omit it, as it defaults to false), GitHub Actions allows at most one job or workflow to be running and one to be in a pending state [1][3]. - If a new run is triggered while one is already running, it becomes the single pending run [3][4]. - If a subsequent (third) run is triggered while another is already pending, the existing pending run is canceled and replaced by the new run [1][4]. - This ensures that only the most recently triggered run is waiting to execute next, while the currently running job completes [4]. Extended Queuing Behavior (queue: max) As of May 2026, you can opt into a larger queue by setting queue: max in your concurrency block [2]. - This allows up to 100 jobs or workflow runs to be queued in a pending state within the same concurrency group [1][5]. - Runs are processed sequentially in the order they were queued [1][2]. - When the queue reaches its limit of 100, any additional incoming runs are canceled [1][5]. Important Constraints - You cannot combine queue: max with cancel-in-progress: true; doing so will result in a workflow validation error because they represent conflicting strategies for handling concurrent runs [1][6]. - The default behavior (queue: single) is essentially a queue of size 1 where new entries force the eviction of older ones [1][4]. The queue: max option allows for a true first-in-first-out (FIFO) queue for up to 100 items [1][2]. Citations:
Queue pending nightly releases sequentially. With Suggested configuration concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.number || github.ref }}
cancel-in-progress: false
+ queue: max📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is probably a question for @danielroe, is it ok if nightly releases get dropped as long as the latest one is ok, or should all be published? |
||||||||||||||||
|
|
||||||||||||||||
| jobs: | ||||||||||||||||
| release-pkg-pr-new: | ||||||||||||||||
| runs-on: ubuntu-latest | ||||||||||||||||
| steps: | ||||||||||||||||
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | ||||||||||||||||
| with: | ||||||||||||||||
| persist-credentials: false | ||||||||||||||||
| - run: corepack enable | ||||||||||||||||
| - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 | ||||||||||||||||
| with: | ||||||||||||||||
|
|
@@ -39,6 +45,8 @@ jobs: | |||||||||||||||
| id-token: write | ||||||||||||||||
| steps: | ||||||||||||||||
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | ||||||||||||||||
| with: | ||||||||||||||||
| persist-credentials: false | ||||||||||||||||
| - run: corepack enable | ||||||||||||||||
| - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 | ||||||||||||||||
| with: | ||||||||||||||||
|
|
||||||||||||||||
Uh oh!
There was an error while loading. Please reload this page.