Upgrade GitHub Actions runtime from node12 to node22#10
Upgrade GitHub Actions runtime from node12 to node22#10
Conversation
All action.yml files were using node12, which is deprecated. This upgrades all actions to use node22 to ensure compatibility with current GitHub Actions infrastructure and avoid deprecation warnings.
There was a problem hiding this comment.
Pull request overview
This PR updates the JavaScript GitHub Action manifests in the repo to run on a newer Node.js runtime by changing runs.using from node12 to node22 across all local actions.
Changes:
- Updated
runs.usingtonode22in 15action.ymlfiles. - No functional code changes included; manifest-only runtime bump.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| codesign/action.yml | Switch JS action runtime to node22. |
| create-txz/action.yml | Switch JS action runtime to node22. |
| deploy/action.yml | Switch JS action runtime to node22. |
| enable-languages/action.yml | Switch JS action runtime to node22. |
| inno-setup/action.yml | Switch JS action runtime to node22. |
| keyboard/build-meta/action.yml | Switch JS action runtime to node22. |
| keyboard/build/action.yml | Switch JS action runtime to node22. |
| keyboard/deploy/action.yml | Switch JS action runtime to node22. |
| lang/build/action.yml | Switch JS action runtime to node22. |
| lang/install-deps/action.yml | Switch JS action runtime to node22. |
| pahkat/init/action.yml | Switch JS action runtime to node22. |
| setup/action.yml | Switch JS action runtime to node22. |
| speller/bundle/action.yml | Switch JS action runtime to node22. |
| speller/deploy/action.yml | Switch JS action runtime to node22. |
| version/action.yml | Switch JS action runtime to node22. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
- Fix Promise<void> type error in codesign/index.ts - Fix unknown error type assertions in setup and speller/deploy - Fix type conversion in shared.ts debug statement - Rebuild all JavaScript files with npm run build
There was a problem hiding this comment.
Pull request overview
This PR updates the repository’s custom JavaScript GitHub Actions to run on a newer Node runtime by changing the runs.using field in each action metadata file, alongside regenerated build artifacts and a few TypeScript adjustments.
Changes:
- Update all affected
action.ymlfiles to useruns.using: 'node22'. - Regenerate multiple compiled JavaScript files (notably TS helper/emission changes).
- Minor TypeScript-only tweaks (e.g., error handling typings, promise typing).
Reviewed changes
Copilot reviewed 37 out of 37 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| version/action.yml | Switch action runtime to node22. |
| version/index.js | Regenerated compiled JS output (helper changes). |
| speller/deploy/action.yml | Switch action runtime to node22. |
| speller/deploy/index.ts | TypeScript catch typing adjustment. |
| speller/deploy/index.js | Regenerated compiled JS output (helper changes). |
| speller/bundle/action.yml | Switch action runtime to node22. |
| speller/bundle/index.js | Regenerated compiled JS output (helper changes). |
| speller/manifest.js | Regenerated compiled JS output (helper/exports changes). |
| shared.ts | Debug logging adjustment in catch block. |
| shared.js | Regenerated compiled JS output reflecting shared.ts change. |
| setup/action.yml | Switch action runtime to node22. |
| setup/index.ts | TypeScript catch typing adjustment. |
| setup/index.js | Regenerated compiled JS output (helper changes). |
| pahkat/init/action.yml | Switch action runtime to node22. |
| pahkat/init/index.js | Regenerated compiled JS output (helper changes). |
| lang/install-deps/action.yml | Switch action runtime to node22. |
| lang/install-deps/index.js | Regenerated compiled JS output (helper changes). |
| lang/build/action.yml | Switch action runtime to node22. |
| keyboard/build-meta/action.yml | Switch action runtime to node22. |
| keyboard/build-meta/index.js | Regenerated compiled JS output (helper changes). |
| keyboard/build/action.yml | Switch action runtime to node22. |
| keyboard/build/index.js | Regenerated compiled JS output (helper changes). |
| keyboard/deploy/action.yml | Switch action runtime to node22. |
| keyboard/deploy/index.js | Regenerated compiled JS output (helper/exports changes). |
| keyboard/types.js | Regenerated compiled JS output (helper/exports changes). |
| inno-setup/action.yml | Switch action runtime to node22. |
| inno-setup/index.js | Regenerated compiled JS output (helper changes). |
| inno-setup/lib.js | Regenerated compiled JS output (helper/exports changes). |
| enable-languages/action.yml | Switch action runtime to node22. |
| enable-languages/index.js | Regenerated compiled JS output (helper changes). |
| deploy/action.yml | Switch action runtime to node22. |
| deploy/index.js | Regenerated compiled JS output (helper changes). |
| create-txz/action.yml | Switch action runtime to node22. |
| create-txz/index.js | Regenerated compiled JS output (helper changes). |
| codesign/action.yml | Switch action runtime to node22. |
| codesign/index.ts | TypeScript promise typing adjustment. |
| codesign/index.js | Regenerated compiled JS output (helper changes). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
- Use instanceof checks instead of type assertions for error objects - Preserve stack traces in error logging (shared.ts) - Handle non-Error exceptions gracefully with fallback to String() - Rebuild all JavaScript files with improved error handling
Summary
This PR upgrades all GitHub Actions in this repository from the deprecated
node12runtime tonode22.Background
GitHub Actions using Node.js 12 or 16 are now deprecated. These actions were running on the ancient
node12runtime, which reached end-of-life in April 2022.GitHub is deprecating old Node.js runtimes and recommending migration to Node.js 20 or 22. This PR upgrades directly to
node22(the latest supported version) to ensure long-term compatibility.Changes
Updated the
runs.usingfield in all 15 action.yml files fromnode12tonode22:Additionally improved error handling:
instanceof Errorchecks instead of type assertionsTesting
The Node.js APIs used by these actions are stable across Node.js versions. The upgrade from 12 to 22 should not affect functionality, but the actions will now run on a supported runtime.
All TypeScript files have been recompiled and JavaScript output has been committed.