Skip to content

CI: move every GitHub Action to a Node 24 release - #8599

Merged
danoli3 merged 2 commits into
openframeworks:masterfrom
danoli3:actions-node24
Oct 25, 2026
Merged

danoli3 merged 2 commits into
openframeworks:masterfrom
danoli3:actions-node24

Conversation

@danoli3

@danoli3 danoli3 commented Oct 25, 2026 •

Copy link
Copy Markdown
Member

GitHub's runners have deprecated actions on Node 20, and IsaacShelton/update-existing-release is still on Node 16 (its latest release, v1.3.5, too). This moves every action in .github/workflows to a release whose action.yml declares using: node24:

Action Was Now
actions/checkout v4 (node20) in 4 workflows v6, as of.yml already uses
actions/upload-artifact v4 (node20) v6
hendrikmuhs/ccache-action v1.2.14, v1.2.17 (node20), v1.2.23 v1.2.24 everywhere
awalsh128/cache-apt-pkgs-action v1.6.0 (calls actions/cache / upload-artifact on node20) v1.6.3 (@latest already resolves to it)
softprops/action-gh-release v2.1.0 (node20, commented out in nightly.yml) danoli3/action-gh-release@ec40b04 (v3 + softprops/action-gh-release#852, the 403 fix for asset-only uploads; the commit openframeworks/apothecary's bleeding workflows already pin)
IsaacShelton/update-existing-release v1.3.4 (node16) gh CLI

manual-release.yml's "Update Release" step now uses the gh CLI, like nightly.yml already does: it creates the release if it's missing, sets its title (not a prerelease), and uploads the packages with --clobber (the old replace: true). The inputs go through env, not inline in the script.

Unchanged, already node24: actions/setup-java@v5, microsoft/setup-msbuild@v3, msys2/setup-msys2@v2.

checkout v6 and upload-artifact v6 only change the runtime for these uses (v7 of each also exists; its changes are ESM internals and new optional inputs).

Node 20 actions are deprecated on GitHub's runners, and
IsaacShelton/update-existing-release still runs on Node 16 (no newer
release), so:

- actions/checkout v4 -> v6 (as of.yml already uses)
- actions/upload-artifact v4 -> v6
- hendrikmuhs/ccache-action v1.2.14 / v1.2.17 / v1.2.23 -> v1.2.24
- awalsh128/cache-apt-pkgs-action v1.6.0 -> v1.6.3 (v1.6.0 calls
  actions/cache and upload-artifact on Node 20; @latest is already 1.6.3)
- softprops/action-gh-release v2.1.0 -> v3 (commented out in nightly.yml)
- manual-release.yml: update-existing-release replaced by the gh CLI, as
  nightly.yml already does: create the release if it's missing, set its
  title, upload the packages with --clobber (replace: true)
…release, as apothecary

The fix in softprops/action-gh-release#852 (asset-only uploads to an
existing release no longer fail with HTTP 403), at the commit
openframeworks/apothecary's bleeding workflows already pin; v3, node24.
@danoli3
danoli3 merged commit ddaeb02 into openframeworks:master Oct 25, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant