shell-pool / shpool

Think tmux, then aim... lower
Apache License 2.0
1.15k stars 20 forks source link

ci: add automated release and publish workflow #69

Closed Aetf closed 2 months ago

Aetf commented 3 months ago

Required repo secrets are

GitHub repo further needs to be configured to allow GitHub actions to create and approve pull requets. See https://release-plz.ieni.dev/docs/github/quickstart#1-change-github-actions-permissions


@ethanpailes we also need you to change the above repo settings and setup the workflow since I don't have admin access to the repo.

I've tested the release-plz to make sure its changelog generation still confirms to the debian changelog format. But I'll probably needs a few more iteration to tweak the workflows, since it's never possible to get them right on the first try...

Note that with this, we'll need to be a bit more disciplined with our commit messages to follow https://www.conventionalcommits.org/, otherwise the generated changelog would need to be tweaked everytime. One way to do this is to pay attention to the commit message when merging the PR with squash. This way, we can enforce a properly formatted commit message while still allow relatively effortless commits within the PR.

Fixes #53.

Aetf commented 2 months ago

I've setup a Github App: https://github.com/apps/release-plz-for-shpool, and added required secrets as organizational secrets.

For CARGO_REGISTRY_TOKEN, I generated a token from my crates.io account, since crates.io doesn't support team secrets.