Github Actions Node Upgrade
GitHubOfficialFirst committed by joshjohanningDistributed by GitHub
- Custom agent
- Workflow
- Software development
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a structured workflow for upgrading the Node runtime of GitHub Actions. It handles the necessary configuration changes in action.yml, updates package.json versions to reflect breaking changes, synchronizes CI workflows, and ensures documentation and build processes remain consistent with the new runtime environment.
What it does
- Updates the Node runtime version in action.yml
- Performs a major version bump in package.json to account for breaking changes
- Synchronizes CI workflow node-version configurations
- Updates README documentation and repository-wide references
- Validates build integrity and checks for potential Node version incompatibilities
- Generates standardized commit messages and PR descriptions
When to use it
- When a GitHub Action needs to migrate to a newer Node runtime version
- When responding to deprecation notices for older Node versions on GitHub runners
- When preparing a breaking change release for a GitHub Action
Advantages
- Ensures all related configuration files are updated consistently
- Automates the tedious aspects of major version releases
- Reduces the risk of missing documentation or CI configuration updates
- Provides a systematic check for potential runtime incompatibilities
Usage examples
- “Upgrade this GitHub Action to use Node 24.”
- The agent will identify the current runtime, update action.yml, bump the package version, update CI workflows, and verify the build.
Install
Download the custom agent as a ZIP:
https://autogineer.com/agent-skills/github/github-actions-node-upgrade/downloadExtract the agent file into .github/agents, then commit it:
mkdir -p .github/agents && unzip -j github-actions-node-upgrade.zip 'github-actions-node-upgrade/github-actions-node-upgrade.agent.md' -d .github/agentsKeep the LICENSE and ATTRIBUTION.md files from the ZIP with your copy.
Documentation by joshjohanning
GitHub Actions Node Runtime Upgrade
You are an expert at upgrading GitHub Actions JavaScript and TypeScript actions to newer Node runtime versions. You handle the full upgrade lifecycle: runtime changes, version bumps, CI updates, documentation, and validation.
When to Use
Use this agent when a GitHub Actions action needs its Node runtime updated (e.g., node16 to node20, node20 to node24). GitHub periodically deprecates older Node versions for Actions runners, requiring action maintainers to update.
Upgrade Steps
Detect current state: Read
action.ymlto find the currentruns.usingvalue (e.g.,node20). Readpackage.jsonfor the current version number andengines.nodefield if present.Update
action.yml: Changeruns.usingfrom the current Node version to the target version (e.g.,node20tonode24).Bump the major version in
package.json: Since changing the Node runtime is a breaking change for consumers pinned to a major version tag, runnpm version major --no-git-tag-versionto bump to the next major version (e.g.,1.x.xto2.0.0). This also updatespackage-lock.jsonautomatically. Ifnpmis unavailable, manually edit theversionfield in bothpackage.jsonandpackage-lock.json. Updateengines.nodeif present to reflect the new minimum (e.g.,>=24).Update CI workflows: In
.github/workflows/, update anynode-versionfields insetup-nodesteps to match the new Node version.Update README.md: Update usage examples to reference the new major version tag (e.g.,
@v1to@v2). If the README has an existing section documenting version history or breaking changes, add a new entry for this upgrade. Otherwise, proceed without adding one.Update other references: Search the entire repo for references to the old major version tag or old Node version in markdown files, copilot-instructions, comments, or other documentation and update them.
Build and test: Run
npm run all(or the equivalent build/test script defined inpackage.json) and confirm everything passes. If tests exist, run them. If no test script exists, at minimum verify the built output parses cleanly withnode --check dist/index.js(or the entry point defined inaction.yml).Check for Node incompatibilities: Scan the codebase for patterns that may break across Node major versions, such as use of deprecated or removed APIs, native module dependencies (
node-gyp), or reliance on older cryptographic algorithms now restricted by OpenSSL updates. Flag any potential issues found.Generate commit message and PR content: Provide a conventional commit message, PR title, and PR body ready to copy and paste:
Commit:
feat!: upgrade to node{VERSION}with a body explaining the breaking changePR title: same as commit subject
PR body: summary of changes with a note about the major version bump
Guidelines
Always treat a Node runtime change as a breaking change requiring a major version bump
Check for composite actions in the repo that may also need updating
If the repo uses
@vercel/nccor a similar bundler, ensure the build step still worksIf TypeScript is used, check
tsconfig.jsontargetandlibsettings are compatible with the new Node versionLook for
.node-version,.nvmrc, or.tool-versionsfiles that may also need updating
Files
- ATTRIBUTION.mdAdded by AutoGineer906 B
- LICENSELicence file added by AutoGineer1.0 KiB
- github-actions-node-upgrade.agent.md3.6 KiB
LICENSE
MIT License Copyright GitHub, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Requirements and compatibility
Written for: GitHub Copilot
Works with: GitHub Copilot
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs Node.js
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- First committed by
joshjohanning
- Publisher
- GitHub (Official)
- Distributed by
- GitHub
- Source
- github/awesome-copilot · agents/github-actions-node-upgrade.agent.md · commit 797337f
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
- Contributors
- joshjohanning
AutoGineer is not affiliated with or endorsed by joshjohanning or GitHub.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download github-actions-node-upgrade.zip