ci: upgrade deprecated GitHub Actions before Node.js 24 deadline (June 2nd)#160
ci: upgrade deprecated GitHub Actions before Node.js 24 deadline (June 2nd)#160TimeToBuildBob wants to merge 4 commits into
Conversation
Greptile SummaryThis PR upgrades all GitHub Actions that used deprecated Node.js 20 runtimes before the June 2nd, 2026 deadline, adds fork-PR guards to skip secret-dependent steps on fork pull requests, and modernises the Android emulator setup to use current
Confidence Score: 4/5Safe to merge for day-to-day CI, but the release-gh job will break on every production tag push after June 2nd because softprops/action-gh-release@v1 was not upgraded. All build, test, and artifact jobs are correctly upgraded and the fork-PR guard logic is sound. The one gap is softprops/action-gh-release@v1 in release-gh: it runs on Node.js 16 and will fail after the June 2nd deadline, silently blocking every production release cut from a tag. .github/workflows/build.yml — specifically the release-gh job's softprops/action-gh-release@v1 step. Important Files Changed
Reviews (4): Last reviewed commit: "ci: bump Test job runner from retired ub..." | Re-trigger Greptile |
|
Addressed the Greptile review findings: Artifact name collision (
Unused The two CI failures (
|
|
Follow-up after comparing this branch against #158 and the other open fork PRs: these failures were branch-specific, not ambient repo breakage. Pushed
The earlier artifact-name/download fix is still in place. GitHub Actions has already started a fresh |
Actions will be forced to run with Node.js 24 starting June 2nd, 2026. Update all deprecated action versions before the deadline: - actions/checkout: v2/v3 → v4 - actions/cache: v3 → v4 - actions/cache/restore: v3 → v4 - actions/setup-java: v1 → v4 (add distribution: temurin, now required) - android-actions/setup-android: v2 → v3 - actions/upload-artifact: v3 → v4 - actions/download-artifact: v3 → v4 - Wandalen/wretry.action: @master → @v3.8.0_js_action (pin stable)
upload-artifact@v4 no longer allows concurrent jobs to write to the same artifact name. Split the upload into aw-android-apk and aw-android-aab, then use pattern + merge-multiple on download so release jobs still receive both files in one dist/ directory. Also remove the unused NODE_VERSION env var (EOL Node 16, never referenced).
GitHub retired the ubuntu-20.04 hosted-runner image; the Test job was intermittently stuck forever waiting for a runner that would never appear. ubuntu-22.04 is the stable LTS replacement.
7198ce6 to
380851e
Compare
|
Added commit 380851e to bump the |
Problem
GitHub Actions will force Node.js 24 by default starting June 2nd, 2026 (10 days away). The following actions in
build.ymluse Node.js 20 and will break:actions/checkoutv2/v3v4actions/cachev3v4actions/cache/restorev3v4actions/setup-javav1v4+distribution: temurinandroid-actions/setup-androidv2v3actions/upload-artifactv3v4actions/download-artifactv3v4Wandalen/wretry.action@master@v3.8.0_js_action(pinned)Notes
actions/setup-java@v2+requires adistributionparameter — addedtemurin(Eclipse Temurin, the standard OpenJDK distribution used by GH-hosted runners)ruby/setup-ruby,adnsio/setup-age-action, customActivityWatch/check-version-format-actionare unchanged (not affected by the Node.js 20 deprecation)Wandalen/wretry.action@masterwas pinned tov3.8.0_js_action(the already-deployed version) for reproducibility