Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"features": {
"ghcr.io/devcontainers/features/github-cli:1": {},
"ghcr.io/devcontainers/features/node:1": {
"version": "20"
"version": "24"
},
"ghcr.io/devcontainers/features/docker-in-docker:2": {
"moby": "false"
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/agent-run-base/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ runs:
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 20
node-version: 24

# Aligns infrastructure prep across both agent runners so they share the
# same token load balancer, scripts checkout, and tooling deps.
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/agents-63-issue-intake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -273,9 +273,9 @@ jobs:
uses: actions/checkout@v6

- name: Set up Node.js
uses: actions/setup-node@v6
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: 20
node-version: 24
Comment thread
stranske marked this conversation as resolved.

- name: Setup API client
uses: ./.github/actions/setup-api-client
Expand Down Expand Up @@ -1488,9 +1488,9 @@ jobs:
pip install langchain langchain-core langchain-openai langchain-community

- name: Set up Node.js
uses: actions/setup-node@v6
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: 20
node-version: 24

- name: Install Node dependencies
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/agents-auto-pilot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ jobs:
if: steps.check_enabled.outputs.enabled == 'true'
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: '20'
node-version: '24'

- name: Setup API client
if: steps.check_enabled.outputs.enabled == 'true'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/agents-bot-comment-handler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -184,9 +184,9 @@ jobs:

- name: Set up Node
if: steps.eligibility.outputs.should-run == 'true'
uses: actions/setup-node@v6
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: '20'
node-version: '24'
- name: Install GitHub API dependencies
if: steps.eligibility.outputs.should-run == 'true'
run: npm install --no-save --no-package-lock @octokit/rest @octokit/auth-app
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/agents-issue-optimizer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,13 +98,13 @@ jobs:

- name: Checkout repository
if: steps.check.outputs.should_run == 'true'
uses: actions/checkout@v6
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3

- name: Set up Node.js
if: steps.check.outputs.should_run == 'true'
uses: actions/setup-node@v6
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: 20
node-version: 24

- name: Install load balancer dependencies
if: steps.check.outputs.should_run == 'true'
Expand All @@ -122,7 +122,7 @@ jobs:

- name: Set up Python
if: steps.check.outputs.should_run == 'true'
uses: actions/setup-python@v6
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
with:
python-version: '3.14'

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/agents-keepalive-dispatch-handler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 20
node-version: 24

- name: Setup API client
uses: ./.github/actions/setup-api-client
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/agents-keepalive-loop-reporter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 20
node-version: 24

- name: Setup API client
uses: ./.github/actions/setup-api-client
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/agents-keepalive-loop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 20
node-version: 24

- name: Setup API client
uses: ./.github/actions/setup-api-client
Expand Down Expand Up @@ -637,7 +637,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 20
node-version: 24

- name: Setup API client
uses: ./.github/actions/setup-api-client
Expand Down Expand Up @@ -857,7 +857,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 20
node-version: 24

- name: Setup API client
uses: ./.github/actions/setup-api-client
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/agents-weekly-metrics.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: "20"
node-version: "24"

Comment thread
coderabbitai[bot] marked this conversation as resolved.
- name: Setup API client
uses: ./.github/actions/setup-api-client
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/health-75-api-rate-diagnostic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 20
node-version: 24

- name: Install load balancer dependencies
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/health-76-codex-cli-freshness.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: "20"
node-version: "24"

- name: Setup Python
uses: actions/setup-python@v6
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/pr-00-gate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@ jobs:
- uses: actions/setup-node@v6
if: ${{ steps.script_tests.outputs.node_tests == 'true' }}
with:
node-version: '20'
node-version: '24'
- run: node --test .github/scripts/__tests__/*.test.js
if: ${{ steps.script_tests.outputs.node_tests == 'true' }}
- uses: actions/setup-python@v6
Expand Down Expand Up @@ -450,7 +450,7 @@ jobs:
- name: Set up Node
uses: actions/setup-node@v6
with:
node-version: '20'
node-version: '24'
- name: Install GitHub API dependencies
run: npm install --no-save --no-package-lock @octokit/rest @octokit/auth-app
- name: Handle docs-only change
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/reusable-10-ci-python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -457,7 +457,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: "20"
node-version: "24"

- name: Install uv
shell: bash
Expand Down Expand Up @@ -859,7 +859,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: "20"
node-version: "24"

- name: Install uv
shell: bash
Expand Down Expand Up @@ -1180,7 +1180,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: "20"
node-version: "24"

- name: Install uv
shell: bash
Expand Down Expand Up @@ -1516,7 +1516,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: "20"
node-version: "24"

- name: Checkout Workflows artifact cache action
if: ${{ inputs.cache }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-20-pr-meta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 20
node-version: 24

- name: Setup API client
uses: ./consumer/.github/actions/setup-api-client
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-cursor-run.yml
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 20
node-version: 24

# Align infrastructure prep with Codex runner so both agents share
# the same token load balancer, scripts checkout, and tooling deps.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/selftest-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '20'
node-version: '24'

- name: Run JavaScript tests
run: node --test .github/scripts/__tests__/*.test.js
Expand Down
10 changes: 5 additions & 5 deletions config/template-drift-allowlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
[pair.1]
main = .github/workflows/agents-63-issue-intake.yml
template = templates/consumer-repo/.github/workflows/agents-issue-intake.yml
main_sha256 = b9c4c9d5c48a48fd6307277fc724d8d1f6aff742fe3cde5c606b178ec8f529ce
main_sha256 = 8e552c2e168919da4265d78ae3983c21bced979c2896fb4fb928bbb0796c13a0
template_sha256 = 689d22e20cc6f21df006a2f7ed54924fc05d63adea5ef89251788f888f2a5495
Comment on lines +10 to 11

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

Do not allowlist main-only workflow changes for consumer-synced pairs.

Line 10, Line 80, and Line 87 update main_sha256 while leaving template_sha256 unchanged for workflows that have consumer template counterparts. That masks drift instead of propagating the workflow change to templates/consumer-repo/.github/workflows/*, which can leave the 9 consumer repos on different behavior.

As per coding guidelines, “Any change to workflows that consumers use must be reflected in BOTH .github/workflows/ (main workflow) and templates/consumer-repo/.github/workflows/ (template).”

Also applies to: 80-82, 87-88

🤖 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 `@config/template-drift-allowlist.txt` around lines 10 - 11, The allowlist
entries at lines 10-11, 80-82, and 87-88 update main_sha256 without updating
template_sha256 for workflows that have consumer template counterparts, which
masks drift instead of enforcing consistency across consumer repos. Remove these
entries from the allowlist, or first propagate the workflow changes to
templates/consumer-repo/.github/workflows/* to match the main workflow updates,
then update both main_sha256 and template_sha256 together in the allowlist
entries according to the coding guideline that any change to consumer-used
workflows must be reflected in both the main workflows and the consumer template
workflows.

Source: Coding guidelines

reason = Existing reviewed baseline drift; align the template or update this fingerprint deliberately.

Expand Down Expand Up @@ -77,14 +77,14 @@ reason = Existing reviewed baseline drift; align the template or update this fin
[pair.11]
main = .github/workflows/agents-issue-optimizer.yml
template = templates/consumer-repo/.github/workflows/agents-issue-optimizer.yml
main_sha256 = 66e1b7a23c0178d558c0e88f1c75de00f228d2eda23e7bb9c744a6fd909aaf5f
main_sha256 = 6a3603e7f8046e47836742cdbb52beca0ad56e8829a0dd877992e1d1e3c34fca
template_sha256 = d64c0ed82527ed7aea9a85aa163659baa55d118a17a984b00cbb28fb18afe2dd
reason = Existing reviewed baseline drift; align the template or update this fingerprint deliberately.

[pair.12]
main = .github/workflows/agents-keepalive-loop-reporter.yml
template = templates/consumer-repo/.github/workflows/agents-keepalive-loop-reporter.yml
main_sha256 = 4eb8c4a9a359a4f84c35feff681dfaebf7eeeeadc419a05ee1764933e2fa27ff
main_sha256 = 7f563758d02898462ea79844a80fc89dfe1fb6afba5f9986348ab5bb6c75d4c8
template_sha256 = 81e08301e323b94daa76d2f3bd9b06720aa421facaccddd803b34e25953f2eda
reason = Existing reviewed baseline drift; align the template or update this fingerprint deliberately.

Expand All @@ -105,6 +105,6 @@ reason = Existing reviewed baseline drift; align the template or update this fin
[pair.15]
main = .github/workflows/agents-weekly-metrics.yml
template = templates/consumer-repo/.github/workflows/agents-weekly-metrics.yml
main_sha256 = 3798ce82e746acc4036c191404fe2b3954ba9c09b183d07adcf42c4650108b2c
template_sha256 = 1b8606bf9cfa446e04db2fb6b6d53569fa14fd375deac1be9818dd90a135ebd2
main_sha256 = 3654d17f7c4331b06cffdddfa1bab31386e48880ddeb9e16a69efebcb6e6c775
template_sha256 = 75832352eefdb2a958c63ce3943bb8fb1045fdd0e53dd4942490893d01ef03b4
reason = Existing reviewed baseline drift; align the template or update this fingerprint deliberately.
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ jobs:
if: steps.check_enabled.outputs.enabled == 'true'
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: '20'
node-version: '24'

- name: Setup API client
if: steps.check_enabled.outputs.enabled == 'true'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: "20"
node-version: "24"
Comment thread
stranske marked this conversation as resolved.

- name: Setup API client
uses: ./.github/actions/setup-api-client
Expand Down
4 changes: 2 additions & 2 deletions templates/consumer-repo/.github/workflows/pr-00-gate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ jobs:
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
if: ${{ steps.script_tests.outputs.node_tests == 'true' }}
with:
node-version: '20'
node-version: '24'
- run: node --test .github/scripts/__tests__/*.test.js
if: ${{ steps.script_tests.outputs.node_tests == 'true' }}
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
Expand Down Expand Up @@ -426,7 +426,7 @@ jobs:
- name: Set up Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: '20'
node-version: '24'
- name: Install GitHub API dependencies
run: npm install --no-save --no-package-lock @octokit/rest @octokit/auth-app
- name: Handle docs-only change
Expand Down
4 changes: 2 additions & 2 deletions tests/workflows/test_workflow_agents_consolidation.py
Original file line number Diff line number Diff line change
Expand Up @@ -420,8 +420,8 @@ def test_weekly_metrics_uploads_selector_report_on_failure():
"uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6" in text
), "Weekly metrics must pin the Node runtime setup action to the v6 commit SHA"
assert (
'node-version: "20"' in text
), "Weekly metrics must run its Node helpers on an explicit Node 20 runtime"
'node-version: "24"' in text
), "Weekly metrics must run its Node helpers on an explicit Node 24 runtime"
assert (
"Install GitHub API dependencies" not in text
), "Weekly metrics must rely on setup-api-client for pinned GitHub API dependencies"
Expand Down
Loading