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.