Hopp til hovedinnhold

The discussion of an automatic release was started many years ago, and there are several options for how to do this (none mentioned, none forgotten). Then I came across @Rultor by accident on Twitter.

no.bekk.bekkopen:NoCommons is a small library for validating, generating and manipulating data typical for Norwegian domains. SSN, org-nr, names etc. And when maintaining a small, quite static, open source library like this on GitHub, we need a smooth automatic release path that is easy and fast to use when a release has to be published. Maybe I changed my computer since last time and need to restore GPG-keys, or even worse, generate new keys and distribute them. And when time goes by, a new maintainer steps up and needs to release. How was that done again?

@Rultor is an open source robot living on GitHub. Yegor256 is the maintainer of this robot and we all can use it. Just talk to @Rultor in a GitHub issue and it will tell you what to do to get started. This is what I did:

  • Change parent-pom of project to com.jcabi:parent (not necessary, but quite convenient)
  • Encrypt setting.xml, private- and public-key (GPG) with @Rultor and commit them to NoCommons
  • Create .rultor.yml and commit to NoCommons with me as commanders and architect

@Rultor needs write access to the repository to publish tags and GitHub releases, so I added it as a collaborator in GitHub.

Now I can comment this in an issue after merging a PR:

@rultor release, tag=`0.9.0`

no.bekk.bekkopen:nocommons:0.9.0

Win!

So now, let's look at GitHub Actions next…

Relevant resources recommended by the author

Did you like the post?

Feel free to share it with friends and colleagues