Background
The publish workflows surface a GitHub Actions deprecation warning:
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions-rs/cargo@v1, mobiledevops/secret-to-file-action@v1. Actions will be forced to run with Node.js 24 by default starting June 16, 2026. Node.js 20 will be removed from the runner on September 16, 2026.
actions-rs/* is also unmaintained (archived), so it won't get a Node 24 update.
Work
- Replace
actions-rs/cargo@v1 with direct cargo invocations (run: steps) — the repo already uses dtolnay/rust-toolchain for toolchain setup, so actions-rs/toolchain is gone; actions-rs/cargo is the remaining holdout.
- Replace
mobiledevops/secret-to-file-action@v1 (used to write the zipsign private key) with a maintained Node 24 action or an inline run: step that writes the secret to a file.
- Audit all
.github/workflows/*.yml for any other Node 20 actions.
Acceptance
No Node 20 deprecation warnings in publish (and other) workflow runs; all actions on Node 24.
Surfaced during the 21.1.0 release publish.
Background
The publish workflows surface a GitHub Actions deprecation warning:
actions-rs/*is also unmaintained (archived), so it won't get a Node 24 update.Work
actions-rs/cargo@v1with directcargoinvocations (run:steps) — the repo already usesdtolnay/rust-toolchainfor toolchain setup, soactions-rs/toolchainis gone;actions-rs/cargois the remaining holdout.mobiledevops/secret-to-file-action@v1(used to write the zipsign private key) with a maintained Node 24 action or an inlinerun:step that writes the secret to a file..github/workflows/*.ymlfor any other Node 20 actions.Acceptance
No Node 20 deprecation warnings in publish (and other) workflow runs; all actions on Node 24.
Surfaced during the 21.1.0 release publish.