top | item 47139913

Caddy Server Release Process

3 points| SEJeff | 6 days ago |github.com

3 comments

order

mholt|6 days ago

Thanks for sharing this, we like it a lot. Mohammed Al-Sahaf implemented this for us so that releases can be made by a quorum of maintainers rather than being blocked by me every time.

Here's the first release done with it: https://github.com/caddyserver/caddy/releases/tag/v2.11.0-be...

And you can see the PR flow where the action happens: https://github.com/caddyserver/caddy/pull/7383

SEJeff|6 days ago

I did some research for a large financial library we were helping maintain to improve CI and did a writeup on the best way to redo the ci for:

* pushing a container image to docker hub

* pushing a sdk to npm

* pushing a rust crate to crates.io

* publishing a cli executable and some docs to GitHub as a release

We settled on a eeeily similar approach as caddy sans the release proposal. We are also heavily focusing on trusted publishing and attestation (via cosign) for any platform that supports it.

I went through this today and it is just work of art. Mohammed Al-Sahaf Is an artisan in CI, truly.