
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
github-release-cli
Advanced tools
A command-line tool for managing release assets on a GitHub repository.
npm install -g github-release-cli
Run github-release with -h or --help options:
Usage: github-release <command> [<args>]
Options:
-V, --version output the version number
--baseurl <baseurl> API endpoint (default: "https://api.github.com")
-T, --token <token> OAuth2 token (default: null)
-o, --owner <owner> The repository owner. (default: "")
-r, --repo <repo> The repository name. (default: "")
-t, --tag <tag> The name of the tag.
--release-id <id> The release id.
-c, --commitish <value> Specifies the commitish value for tag. Unused if the tag already exists.
-n, --name <name> The name of the release. (default: "")
-b, --body <body> Text describing the contents of the tag.
-d, --draft [value] `true` makes the release a draft, and `false` publishes the release.
-p, --prerelease [value] `true` to identify the release as a prerelease, `false` to identify the release as a full release.
-h, --help output usage information
github-release list
--owner cheton \
--repo github-release-cli
github-release upload \
--owner cheton \
--repo github-release-cli \
--tag "v0.1.0" \
--name "v0.1.0" \
--body "This release contains bug fixes and imporvements, including:\n..." \
archive.zip index.html app.min.css app.min.js
github-release upload \
--owner cheton \
--repo github-release-cli \
--commitish 6a8e375 \
--tag "v0.1.0" \
--name "v0.1.0" \
--body "The commitish value for tag"
github-release upload \
--owner cheton \
--repo github-release-cli \
--tag "v0.1.0" \
--name "v0.1.0" \
--body "This is a prerelease" \
--prerelease
github-release upload \
--owner cheton \
--repo github-release-cli \
--tag "v0.1.0" \
--name "v0.1.0" \
--body "This is a published release" \
--prerelease=false
You can use glob expressions to match files:
github-release delete \
--owner cheton \
--repo github-release-cli \
--tag "v0.1.0" \
archive.zip index.html "app.*"
github-release delete \
--owner cheton \
--repo github-release-cli \
--tag "v0.1.0"
github-release delete \
--owner cheton \
--repo github-release-cli \
--release-id 17994985
https://github.com/cncjs/cncjs-pendant-tinyweb/blob/master/.travis.yml
First you will need to get an OAuth Token from GitHub using your own username and "note":
curl \
-u 'username' \
-d '{"scopes":["repo"], "note":"Publish to GitHub Releases"}' \
https://api.github.com/authorizations
For users with two-factor authentication enabled, you must send the user's authentication code (i.e., one-time password) in the X-GitHub-OTP header:
curl \
-u 'username' \
-H 'X-GitHub-OTP: 000000' \
-d '{"scopes":["repo"], "note":"Publish to GitHub Releases"}' \
https://api.github.com/authorizations
For reducing security risks, you can store your OAuth token in an environment variable.
Export the token using the one you got from above:
export GITHUB_TOKEN=your_token
Now you're ready to upload assets to a GitHub repository from a CI server. For example:
COMMIT_LOG=`git log -1 --format='%ci %H %s'`
github-release upload \
--owner=cheton \
--repo=github-release-cli \
--tag="latest" \
--name="${TRAVIS_BRANCH}" \
--body="${COMMIT_LOG}" \
"releases/myapp-0.1.0-win-x32.exe" \
"releases/myapp-0.1.0-win-x64.exe"
If you're using Travis CI, you may want to encrypt environment variables:
travis encrypt GITHUB_TOKEN=your_token
Learn how to define encrypted variables in .travis.yml:
https://docs.travis-ci.com/user/environment-variables/#Defining-encrypted-variables-in-.travis.yml
MIT
FAQs
A command-line tool for managing release assets on a GitHub repository
We found that github-release-cli demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.