fix(ci): bump GitHub Actions to Node 24 runtimes - #80
Conversation
actions/upload-artifact@v4, actions/download-artifact@v4, astral-sh/setup-uv@v3, docker/setup-qemu-action@v3, actions/configure-pages@v5, actions/deploy-pages@v4 and actions/upload-pages-artifact@v3 all run on the deprecated Node 20 runtime. Bump each to its first Node 24 major (verified via action.yml: upload-artifact v6, download-artifact v7, setup-uv v7, setup-qemu-action v4, configure-pages v6, deploy-pages v5, upload-pages-artifact v5).
Ruff 0.16.0 (2026-07-23) expanded the default enabled rule set from 59 to 413 rules. The lint env uses unpinned ruff>=0.4.0 (tox.ini), so CI now flags 46 pre-existing violations (UP006/UP045/UP035/BLE001/I001/RUF013/ RUF022/C408) in python/eo_processor code identical to main. Pin the classic E4/E7/E9/F defaults in pyproject.toml, as recommended in the ruff 0.16 migration notes, until the codebase is migrated deliberately.
SummarySecurity gate passed. Every bumped action was verified against its canonical repository at the exact tag in question: Findings
VerdictAPPROVE — All security and compatibility claims were independently verified (canonical repos, node24 runtimes, compatible artifact/Pages generations), and the only substantive issue is an unrelated |
|
technocore review via pipeline Merged PR #80. |
Closes #79
Summary
GitHub flagged actions running on the deprecated Node.js 20 runtime (forced to Node 24 by default June 16, 2026; removed from runners Sept 16, 2026). This PR bumps every Node 20 action in the workflows to its first Node 24-compatible major, verified against each action's
action.yml(runs.using: node24).Changes
actions/checkout@v4->@v5actions/setup-python@v5->@v6actions/upload-artifact@v4->@v6actions/download-artifact@v4->@v7astral-sh/setup-uv@v3->@v7docker/setup-qemu-action@v3->@v4actions/upload-pages-artifact@v3->@v5(composite; latest)actions/configure-pages@v5->@v6actions/deploy-pages@v4->@v5Applied across all 4 workflow files (
ci.yml,release.yml,static.yml,tag-release.yml), including commented-out references inrelease.ymlfor consistency. All bumps are runtime-only with unchanged inputs, and the newer majors require only runner >= v2.327.1, which GitHub-hosted runners satisfy.CI note
The initial CI run failed in the
tox -e lintstep because Ruff 0.16.0 (released 2026-07-23) expanded its default enabled rule set from 59 to 413 rules; the unpinnedruff>=0.4.0intox.inithen flagged 46 pre-existing violations in code identical tomain. Added[tool.ruff.lint] select = ["E4", "E7", "E9", "F"]topyproject.tomlto restore the classic rule set the project's CI was previously green with, as recommended in the Ruff 0.16 migration notes. CI is now fully green.