Skip to content

Octoherd script to set the node-version input for actions/setup-node to the latest LTS major version

License

Notifications You must be signed in to change notification settings

gr2m/octoherd-script-bump-node-version-in-workflows

Folders and files

NameName
Last commit message
Last commit date
Sep 23, 2022
Sep 17, 2021
Sep 17, 2021
Sep 17, 2021
Sep 17, 2021
Jan 8, 2023
Sep 17, 2021
Sep 17, 2021
Sep 17, 2021
Sep 10, 2022
Sep 17, 2021

Repository files navigation

octoherd-script-bump-node-version-in-workflows

Octoherd script to set the node-version input for actions/setup-node to the latest LTS major version

@latest Build Status

Usage

Note: You must set a custom token for this script because it requires the workflow scope. Create a token here

Minimal usage

npx octoherd-script-bump-node-version-in-workflows -T ghp_0123456789abcdefghjklmnopqrstuvwxyzA

Pass all options as CLI flags to avoid user prompts

npx octoherd-script-bump-node-version-in-workflows@latest \
  -T ghp_0123456789abcdefghjklmnopqrstuvwxyzA \
  -R "gr2m/*" \
  --node-version "lts/*" \
  --workflow release.yml

The script uses js-yaml, so the updated YAML code might also include formatting changes. Unfortunately the parsing and then serializing using js-yaml removes all comments. But the script will only update a file if a node-version was actually changed.

If node-version is set to a value which includes a ${{ ... }} placeholder then it's not updated.

I run the script against all @octokit repositories so I'm fairly confident it doesn't break anything.

Options

option type description
--node-version number Required May be set to lts/*. See all supported versions
--workflow string workflow file name or pattern to only update a subset of workflows. matcher is used for matching. Defaults to *
--octoherd-token, -T string A personal access token (create). Script will create one if option is not set
--octoherd-repos, -R array of strings One or multiple space-separated repositories in the form of repo-owner/repo-name. repo-owner/* will find all repositories for one owner. * will find all repositories the user has access to. Will prompt for repositories if not set
--octoherd-bypass-confirms boolean Bypass prompts to confirm mutating requests

Contributing

See CONTRIBUTING.md

About Octoherd

@octoherd is project to help you keep your GitHub repositories in line.

License

ISC

About

Octoherd script to set the node-version input for actions/setup-node to the latest LTS major version

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published