Central GitHub Actions workflows to release Hanakai gems and npm packages using signed version tags.
Prerequisites:
- You are an authorized releaser for the gem.
- Your git is signing commits using your key configured here.
To release a gem:
- Prepare
lib/[gem_name]/version.rbandCHANGELOG.mdfor the new version. - Create a signed tag for the version:
get tag -s vX.Y.Z - Push the signed tag:
git push origin vX.Y.Z - Watch the latest release workflow run to see the new version published.
You can also use the gem-release gem to streamline steps 1-3:
$ gem install gem-release
$ gem bump --version X.Y.Z --tag --sign --push
Check out gem bump --help to learn more.
Prerequisites:
- You are an authorized releaser for the package.
- Your git is signing commits using your key configured here.
- The package is configured on npmjs.com with a trusted publisher pointing at this repo's
release-npm.ymlworkflow.
To release an npm package:
- Prepare
package.jsonandCHANGELOG.mdfor the new version. - Create a signed tag for the version:
git tag -s vX.Y.Z - Push the signed tag:
git push origin vX.Y.Z - Watch the latest release workflow run to see the new version published.
See .github/workflows/release.yml and .github/workflows/release-npm.yml for the release workflows.
Contains public keys for each releaser, expected to be used with signing version tags. These files names should match the releaser's GitHub username. For example:
t-boz.ssh.txt(when signing commits with SSH)left-eye.gpg.asc(when signing commits with GPG)
Defines who is authorized to release packages. Contains:
default: Releasers authorized for all packagespackages: Releasers for specific packages (in addition todefaultreleasers)
Example:
default:
- t-boz
- left-eye
packages:
hanami-router:
- chilli