Repository navigation
feat(ENG-14534): pin the CLI version and release on each CLI bump - #49
Open
cloudsmith-iduffy wants to merge 4 commits into
Open
cloudsmith-iduffy wants to merge 4 commits into
cloudsmith-iduffy wants to merge 4 commits into
Conversation
Pin the default cli-version to Cloudsmith CLI 1.27.0, so that a workflow that pins the action to a SHA always installs the same CLI. An explicit cli-version, including latest, still overrides the pin. Add scripts/bump-cli-version.sh. The cloudsmith-cli release workflow runs it as cloudsmith-bot to pin each new CLI version and add a CHANGELOG release section. The Release workflow now runs when CHANGELOG.md changes on master. If the newest CHANGELOG version has no tag, it runs the test matrix, then creates the tag and release and moves the major tag. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Merged
2 of 6 tasks
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Release queueing and retry behavior can skip or strand automated releases.
Review effort: Balanced
Findings: 2
Open (3)
What changed in this PR
Pins the default Cloudsmith CLI version and automates action releases following CLI bumps.
Changes:
- Adds CLI-version bumping and regression tests.
- Converts release automation to CHANGELOG-driven, tested releases.
- Updates action defaults and release documentation.
| File | Description |
|---|---|
action.yml |
Pins CLI 1.27.0 by default. |
CHANGELOG.md |
Adds the 3.2.0 release entry. |
README.md |
Documents pinned and latest selection. |
CONTRIBUTION.md |
Documents testing and release procedures. |
scripts/bump-cli-version.sh |
Automates pin and CHANGELOG updates. |
scripts/test-bump-cli-version.sh |
Tests bump behavior. |
.github/workflows/test.yml |
Adds reusable and version-focused tests. |
.github/workflows/release.yml |
Implements CHANGELOG-driven releases. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Keep every queued Release run with queue: max, so that each CHANGELOG version gets its tag. Skip the release creation when the release exists, so that a re-run of a failed job can still move the major tag. Make bump-cli-version.sh skip a CLI version older than the pinned version. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
BartoszBlizniak
approved these changes
Oct 19, 2026
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.sh through the open-cli-bump-pr action of the CLI repository, which opens or updates the pull request from cloudsmith-bot. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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
Before this change,
cli-versiondefaulted tolatest. A workflow that pinned this action to a commit SHA still got a different CLI whenever a new CLI shipped. This PR pins the CLI version and automates releases when the CLI changes.cli-versionnow defaults to1.29.0inaction.yml. That value is the one source of truth for the pin.cli-version: latestand explicit versions still override it.scripts/bump-cli-version.sh <version>updates the pin and adds a release section toCHANGELOG.md. The release is a patch release, or a minor release when[Unreleased]has entries, so a CLI bump never ships a feature as a patch. If the version is already pinned, the script does nothing.cloudsmith-clirelease sends acloudsmith-cli-releaseevent to this repo. The newBump Cloudsmith CLIworkflow runs the bump script through the CLI repo'sopen-cli-bump-praction, which makes an SSH-signed commit ascloudsmith-botand opens or updates the PR. You can also run the workflow by hand with a version. The Homebrew tap uses the same flow (feat(ENG-14534): bump the formula from the CLI release event homebrew-cloudsmith-cli#41).release.ymlnow runs whenCHANGELOG.mdchanges onmaster. If the newest CHANGELOG version has no tag, it callstest.ymlas a reusable workflow. If the tests pass, it creates the tag and GitHub release and movesv3. If they fail, it creates no tag, and the run shows as failed on the commit.cli-versionoutput matches the pinned default. A new job coverscli-version: latest. The bump script has its own test (scripts/test-bump-cli-version.sh), which runs on Linux and macOS.This PR adds a
3.2.0CHANGELOG section, so merging it also tests the new release path: it should tagv3.2.0and movev3.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 tests.open-cli-bump-praction.bump-cli-version.ymlpins the action to a commit on the #451 branch. After #451 merges, repin it to the merged commit onmaster.CHANGELOG.md.CONTRIBUTION.mddescribes the flow.master, so a person still approves each bot PR, as with the Homebrew tap. To make the flow fully hands-off, an org admin can addcloudsmith-botas a bypass actor and the bot job can merge its own PR.scripts/test-bump-cli-version.shpasses with BSD awk (macOS) and mawk (Ubuntu 24.04).zizmor --pedanticis clean.🤖 Generated with Claude Code