Releasing
How a version goes from main to the images, the website and these docs.
Releases are cut from main with release-it, in three workflows:
- Release Prepare (
release-prepare.yml, run by hand from the Actions tab) bumps the version from the conventional commits, updatesCHANGELOG.mdand opens achore: release vX.Y.Zpull request. - Release Publish (
release-publish.yml) runs when that pull request merges: it tags the merge commit, creates the GitHub release and starts the release workflow. - Release (
release.yml):- builds and pushes both edition images to GHCR as
vX.Y.Z,vX.Yandlatest; - deploys
apps/main-webto Cloudflare Workers; - builds these docs and deploys them to
docs.montaramail.web.id.
- builds and pushes both edition images to GHCR as
Run Release by hand to publish images of any ref under their short commit SHA, and to redeploy the website and the docs.
The repository needs the CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID secrets for the two deployments, and the setting "Allow GitHub Actions to create and approve pull requests" for step 1.