Skip to content

Commit f2e6e43

Browse files
committed
fix(ci): complete F-07 Node.js 24 action migration
1 parent 9e6d83f commit f2e6e43

8 files changed

Lines changed: 18 additions & 7 deletions

File tree

.github/workflows/autopilot-create-issue.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
runs-on: ubuntu-latest
1818
steps:
1919
- name: Create or update issue
20-
uses: actions/github-script@v7
20+
uses: actions/github-script@v9
2121
with:
2222
script: |
2323
const run = context.payload.workflow_run;

.github/workflows/autopilot-docs-daily.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
GH_TOKEN: ${{ secrets.ORG_READ_TOKEN || github.token }}
2020
steps:
2121
- name: Checkout
22-
uses: actions/checkout@v4
22+
uses: actions/checkout@v6
2323

2424
- name: Update status docs
2525
run: |

.github/workflows/autopilot-operator.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
}
2828
2929
- name: Checkout
30-
uses: actions/checkout@v4
30+
uses: actions/checkout@v6
3131
with:
3232
clean: false
3333

.github/workflows/autopilot-org-installer.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1919
steps:
2020
- name: Checkout installer
21-
uses: actions/checkout@v4
21+
uses: actions/checkout@v6
2222

2323
- name: Sync intake workflow
2424
run: |

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: CI
1+
name: CI
22

33
on:
44
push:
@@ -14,7 +14,7 @@ jobs:
1414
runs-on: ubuntu-latest
1515
timeout-minutes: 10
1616
steps:
17-
- uses: actions/checkout@v4
17+
- uses: actions/checkout@v6
1818

1919
- name: Install workflow validator dependency
2020
run: python -m pip install --disable-pip-version-check PyYAML==6.0.2
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# F-07 supported GitHub Action runtimes
2+
3+
Issue Description: Green remote CI warned that checkout and github-script action majors used deprecated Node.js 20.
4+
State: GitHub will force Node.js 24 on June 16, 2026 and remove Node.js 20 on September 16, 2026.
5+
Action: Updated to the verified latest supported majors, `actions/checkout@v6` and `actions/github-script@v9`, including templates.
6+
Result: Workflows use Node.js 24-compatible action releases and CI prevents regression to deprecated majors.
7+
Diff Patch: Updated action majors and added a contract assertion.
8+
Rationale: Platform deprecation warnings are reliability defects with fixed deadlines.

templates/demo-repo/.github/workflows/autopilot-create-issue.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
runs-on: ubuntu-latest
1818
steps:
1919
- name: Create or update issue
20-
uses: actions/github-script@v7
20+
uses: actions/github-script@v9
2121
with:
2222
script: |
2323
const run = context.payload.workflow_run;

tests/contract-tests.ps1

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ function Assert-NotContains {
1313
$operator = Get-Content -Raw "scripts/autopilot-operator.ps1"
1414
$workflow = Get-Content -Raw ".github/workflows/autopilot-operator.yml"
1515
$installer = Get-Content -Raw ".github/workflows/autopilot-org-installer.yml"
16+
$allWorkflows = (Get-ChildItem -Recurse -File -Include *.yml,*.yaml | ForEach-Object { Get-Content -Raw $_.FullName }) -join "`n"
1617

1718
Assert-Contains $operator 'label:autofix label:queued' "Operator must require autofix and queued labels."
1819
Assert-NotContains $operator 'no:label' "Operator must not execute unlabeled issues."
@@ -25,4 +26,6 @@ Assert-NotContains $workflow 'GH_TOKEN: \$\{\{ secrets\.GITHUB_TOKEN \}\}' "Work
2526

2627
Assert-NotContains $installer 'autofix,queued,docs' "Installer must not queue automation before repository opt-in."
2728

29+
Assert-NotContains $allWorkflows 'actions/checkout@v4|actions/github-script@v7' "Workflows must not use deprecated Node.js 20 action majors."
30+
2831
Write-Host "Control-plane contract tests passed."

0 commit comments

Comments
 (0)