Repository navigation
feat(ENG-14534): bump the formula from the CLI release event - #41
Merged
Merged
Conversation
Add the Bump Cloudsmith CLI workflow. It runs on the cloudsmith-cli-release event that each CLI release sends, or by hand with a version. It runs scripts/bump-cli-version.py through the open-cli-bump-pr action of the CLI repository, which opens the pull request from cloudsmith-bot and merges it when the checks pass. The script reads the sha256 values from the SHA256SUMS asset of the CLI release and verifies each published download against them. It changes only the version, the sha256 values and the revision of the formula, so a change to the formula in this repository now persists. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2 of 6 tasks
Merged
2 of 6 tasks
There was a problem hiding this comment.
🟡 Changes recommended
Bump runs can commit generated bytecode, and no-op runs unnecessarily depend on release asset availability.
2 open issues
What changed in this PR
Moves CLI formula updates into the tap repository so release bumps preserve hand-maintained formula changes.
Changes:
- Adds an event-driven and manually triggered bump workflow.
- Adds checksum-verified version updates and unit tests.
- Documents local formula ownership and the release process.
| File | Description |
|---|---|
scripts/test_bump_cli_version.py |
Tests version updates and download verification. |
scripts/bump-cli-version.py |
Updates versions and checksums while preserving formula logic. |
Formula/cloudsmith-cli.rb |
Updates ownership comments only. |
CONTRIBUTING.md |
Documents the new release and maintenance process. |
.github/workflows/scripts-test.yml |
Runs Python unit tests. |
.github/workflows/bump-cli-version.yml |
Automates bump PR creation and merging. |
Review effort: Balanced
- Compare the versions before the script downloads SHA256SUMS. A re-run for the pinned version or an older one then does not need the release assets. - Ignore __pycache__/. The import of render-formula-version writes bytecode, and the bump action stages all changes with git add --all. - Try the download again on all OSError values. A read timeout raises TimeoutError, which is not a URLError. - Pin open-cli-bump-pr to the merge commit of cloudsmith-io/cloudsmith-cli#451. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
cloudsmith-iduffy
enabled auto-merge (squash)
October 19, 2026 16:25
cloudsmith-iduffy
disabled auto-merge
October 19, 2026 16:35
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Description
This PR moves the formula bump into this repository. Until now, the CLI release workflow rendered a template that it kept in the CLI repository, and then copied the rendered file over
Formula/cloudsmith-cli.rb. A fix made here was therefore lost at the next release unless someone also changed the template.Now each CLI release sends a
cloudsmith-cli-releaseevent to this repository, and the newBump Cloudsmith CLIworkflow does the bump:scripts/bump-cli-version.py VERSION. The script reads the sha256 values from theSHA256SUMSasset of the CLI release and checks each published download against them. It then writes the new version and sha256 values into the formula and removes anyrevisionline. The rest of the formula is not changed.cloudsmith-botand squash-merges it when the checks pass, the same as before. The CLI repository'sopen-cli-bump-praction does this step.You can also run the workflow by hand with a version, or run
python3 scripts/bump-cli-version.py 1.29.1locally to see the change.Type of Change
Additional Notes
DOWNSTREAM_RELEASE_PUSH_TOKENandCLOUDSMITH_BOT_SSH_KEY, with the same values as incloudsmith-io/cloudsmith-cli. A PR opened with the defaultGITHUB_TOKENdoes not start the formula checks, so the bot token is necessary.open-cli-bump-praction. This PR pins that action to the #451 merge commit onmaster.Test scriptsworkflow runs the unit tests.🤖 Generated with Claude Code