feat: publish install scripts to Cloudsmith on release#11
Merged
Conversation
Adds a publish-cloudsmith job to the release workflow that dogfoods install.sh to fetch the Cloudsmith CLI, authenticates via the CLI's native GitHub Actions OIDC exchange, and pushes install.sh, install.ps1, and SHA256SUMS as raw packages. Gated on vars.CLOUDSMITH_SERVICE_SLUG so existing tag runs stay green until the Cloudsmith side is configured. Documents the resulting stable download URLs in the README.
Wiz Scan Summary
To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension. |
The Cloudsmith packages are named cli.sh and cli.ps1 so they are served at https://install.cloudsmith.com/cli.<sh|ps1> once the custom domain is live. SHA256SUMS covers the published names. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Publishes this repository’s installer artifacts to Cloudsmith on tagged releases, so users can install via stable Cloudsmith “short URLs” while keeping existing GitHub Releases instructions intact.
Changes:
- Adds a
publish-cloudsmithjob to the release workflow to pushcli.sh,cli.ps1, andSHA256SUMSas Cloudsmith raw packages using GitHub Actions OIDC. - Documents Cloudsmith install/download URLs in
README.md. - Records the new publishing behavior in
CHANGELOG.mdunder[Unreleased].
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
.github/workflows/release.yml |
Adds a gated Cloudsmith publish+verify job to the release workflow. |
README.md |
Adds “Install from Cloudsmith” instructions and stable URL patterns. |
CHANGELOG.md |
Notes the new Cloudsmith publishing workflow and README update. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
cloudsmith-iduffy
approved these changes
Jul 22, 2026
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.
Summary
publish-cloudsmithjob to.github/workflows/release.ymlthat runs after thereleasejob on the same tag trigger.vars.CLOUDSMITH_SERVICE_SLUG != ''so existing tag runs stay green until the Cloudsmith side is configured (mirrors thevendorjob'svars.ENABLE_VENDORINGgate).install.sh --version latest(dogfooding) and parses theexecutable=line from its output withouteval.id-token: write,CLOUDSMITH_ORG/CLOUDSMITH_SERVICE_SLUGenv) — no API key needed.install.sh,install.ps1, and a freshly generatedSHA256SUMSas raw packages to${{ vars.CLOUDSMITH_NAMESPACE }}/${{ vars.CLOUDSMITH_REPO }}, tagged with the release version, using--republishso re-running a tag is idempotent.dl.cloudsmith.ioURL and comparing checksums; a failed download (e.g. repo still private) prints a notice and is skipped rather than failing the job, but a checksum mismatch on a successful download still fails.latest) for bothinstall.shandinstall.ps1, plusSHA256SUMS. Existing GitHub-releases instructions are unchanged.[Unreleased].Required configuration before merging
CLOUDSMITH_NAMESPACE=cloudsmithCLOUDSMITH_REPO=cloudsmith-cli-install-scriptCLOUDSMITH_SERVICE_SLUG=cli-install-script-publisherrepo:cloudsmith-io/cloudsmith-cli-install-script:*→ service accountcli-install-script-publishercloudsmith/cloudsmith-cli-install-scriptCloudsmith repository public before thedl.cloudsmith.iopublic download URLs in the README will workValidation
sh -n install.shandshellcheck --shell=sh --severity=style install.sh(unchanged, still clean)bats tests/install.bats— 39/39 passingshellcheck --shell=bash --severity=styleagainst each new workflowrun:block — cleanzizmor --pedantic .github/workflows/release.yml— no findingsCompatibility
None. No change to the installer scripts, their options, environment variables, installation paths, or the four-line output contract.
Checklist
CHANGELOG.mdwhere appropriate.