Conversation
…ases from anywhere - Stable and pre-release tags (v0.17.0, v0.17.0-alpha3) must be on main, create draft releases, publish to PyPI and crates.io - Dev tags (v0.17.0-dev1) can be from any branch, publish immediately as GH pre-releases with full artifacts, skip PyPI/crates.io - Move goreleaser (CLI build) from publish to build step so CLI binaries are available on draft releases before publishing - Switch crates.io to OIDC trusted publishing - Delete version-bump.yaml (just edit Cargo.toml directly) - Add PEP 440 version conversion and SETUPTOOLS_SCM_PRETEND_VERSION - Update README with new three-tier release documentation
Add update-homebrew-tap job to release-publish.yaml that generates a Homebrew cask for macOS (Intel + ARM) from goreleaser checksums, pushed to replicate/homebrew-tap via the cog-homebrew-tapbot GitHub App. Runs only for stable releases, after PyPI and crates.io publishing completes. Update README, getting-started docs, install script, and llms.txt to recommend brew install replicate/tap/cog as the primary macOS install. Also: - Add explicit is_dev guard to publish-pypi-sdk (defense in depth) - Fix PEP 440 sed to handle dotted prerelease (e.g. beta.1) - Replace robinraju/release-downloader with gh release download - Remove unused attestations:write permission Co-authored-by: Mark Phelps <mphelps@cloudflare.com>
|
The secret has been already added. |
meatballhat-cf
left a comment
There was a problem hiding this comment.
One seemingly-weird bit is that (IIUC) we're duplicating some of goreleaser's capabilities because we want to do something slightly different, which is why all goreleaser releases are "draft".
The reason for this change was to provide ourselves a clear draft -> release process without rebuilding the artifacts. The draft feels cleaner than "boom" we have a release. However, I'm 100% open to going with goreleaser on it's own if you'd prefer. I defer to the desires of the team if you'd like me to move us back to the more immediate "release" process. |
|
Chatted with @meatballhat-cf - we can always refine as we go. |
Summary
Overhauls the release process and adds Homebrew cask support for macOS installs.
supersedes: #2755
closes: #2738
Release process
Three release types, all from a single workflow pair:
Homebrew cask
Other improvements
Setup required
Co-authored-by: Mark Phelps (@markphelps)