Skip to content
2 changes: 1 addition & 1 deletion .github/workflows/agent-scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ permissions:

jobs:
agentscan:
runs-on: ubuntu-latest
runs-on: ubuntu-slim
steps:
- name: AgentScan
id: agentscan
Expand Down
14 changes: 12 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ on:

permissions: {}

concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.number || github.ref }}
cancel-in-progress: true

jobs:
changes:
runs-on: ubuntu-latest
Expand All @@ -21,6 +25,8 @@ jobs:
src: ${{ steps.filter.outputs.src }}
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: filter
with:
Expand Down Expand Up @@ -48,10 +54,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
Comment thread
luc122c marked this conversation as resolved.
- run: corepack enable
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: 24.18.0
node-version: 24
cache: "pnpm"

- name: 📦 Install dependencies
Expand All @@ -77,6 +85,8 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- run: corepack enable
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
Expand Down Expand Up @@ -114,7 +124,7 @@ jobs:

ci-ok:
if: always()
runs-on: ubuntu-latest
runs-on: ubuntu-slim
needs:
- changes
- lint
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/release-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The 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}')
PY

Repository: nuxt/image

Length of output: 3118


🌐 Web query:

GitHub Actions concurrency queue max behavior pending runs cancel-in-progress false

💡 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 cancel-in-progress: false, GitHub Actions still defaults to a single pending run, so a burst of pushes can drop earlier nightly release events. Add queue: max if every release event should be processed in FIFO order.

Suggested configuration
 concurrency:
   group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.number || github.ref }}
   cancel-in-progress: false
+  queue: max
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.number || github.ref }}
cancel-in-progress: false
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.number || github.ref }}
cancel-in-progress: false
queue: max
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/release-nightly.yml around lines 13 - 15, Update the
workflow’s concurrency configuration to set the pending-run queue behavior to
max, preserving cancel-in-progress: false, so all nightly release events are
retained and processed sequentially in FIFO order.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The 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:
Expand All @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reproduction-close.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ permissions:

jobs:
stale:
runs-on: ubuntu-latest
runs-on: ubuntu-slim
steps:
- uses: actions/stale@eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899 # v10.3.0
with:
Expand Down
Loading