Skip to content

chore(ENG-13952): add dev-release workflow for standalone binaries - #357

Merged
cloudsmith-iduffy merged 5 commits into
masterfrom
eng-13952-dev-release-workflow
Aug 17, 2026
Merged

chore(ENG-13952): add dev-release workflow for standalone binaries#357
cloudsmith-iduffy merged 5 commits into
masterfrom
eng-13952-dev-release-workflow

Conversation

@cloudsmith-iduffy

@cloudsmith-iduffy cloudsmith-iduffy commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

What

Add a manually dispatched Dev Release workflow (ENG-13952). It builds the standalone binaries for the selected branch with the reusable binaries.yml workflow. It publishes them to the Cloudsmith repository set in the CLOUDSMITH_DEV_REPO repository variable.

How it works

  • Only users with write access can dispatch the workflow.
  • Packages keep the name cloudsmith-cli-<target>. Each build gets the version <base>-dev.<run_number>.g<short_sha> and the tags dev-build and branch-<name>.
  • The dev version applies to the Cloudsmith package only. The binary itself reports the base version from cloudsmith_cli/data/VERSION. A build-time version override would change the reusable binaries.yml workflow and break its version smoketests, so it is out of scope here.
  • The publish loop reads the target list from .github/scripts/binaries-matrix.json, the same source as the build matrix.
  • The workflow verifies the SHA256 checksum of each archive before the upload.
  • Authentication uses the same OIDC service account as the release workflow.
  • The job summary lists the download URL and the SHA256 for each target.

Setup before the first run

  • Create the dev repository in Cloudsmith: public, republish enabled, ~30-day retention.
  • Set the CLOUDSMITH_DEV_REPO repository variable (done).
  • Confirm the OIDC policy accepts ref: refs/heads/<branch> claims from this workflow.

Example run of this workflow can be seen at https://github.com/cloudsmith-io/cloudsmith-cli/actions/runs/31969009330?pr=357

Add a manually dispatched workflow. It builds the standalone binaries
for a branch with the reusable binaries workflow. It publishes them to
the Cloudsmith repository in the CLOUDSMITH_DEV_REPO variable for
manual tests. The job summary lists the download URL and SHA256 for
each target.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@cloudsmith-iduffy
cloudsmith-iduffy requested a review from a team as a code owner August 16, 2026 19:53
Copilot AI lite review requested due to automatic review settings August 16, 2026 19:53
Revert this commit after the test run passes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a manually-dispatched GitHub Actions workflow to publish “dev” builds of the standalone CLI binaries to a dedicated Cloudsmith repository, reusing the existing binaries.yml build workflow and OIDC auth approach.

Changes:

  • Introduces a Dev Release workflow_dispatch workflow that builds standalone binaries via the reusable binaries.yml.
  • Publishes artifacts to the Cloudsmith dev repo using a derived -dev.<run_number>.g<short_sha> Cloudsmith package version and dev-build/branch-<name> tags.
  • Writes a job summary containing per-target download URLs and SHA256 values.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/dev-release.yml Outdated
Comment thread .github/workflows/dev-release.yml
Comment thread .github/workflows/dev-release.yml
Read the target list from binaries-matrix.json so the publish loop
cannot drift from the build matrix. Verify each SHA256 checksum
before the upload.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@BartoszBlizniak

Copy link
Copy Markdown
Member

Nice one!

As part of this (or future ticket) we should add the ability to also consume the dev package via the install script

@BartoszBlizniak BartoszBlizniak left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One nit: we should look into creating a new service account with write permissions to the new dev repo and adding it to the OIDC config (or creating a second OIDC config for the dev release).

Copy link
Copy Markdown
Contributor Author

Will create a follow up ticket for us to do that adjustment.

Copy link
Copy Markdown
Contributor Author

Will future ticket it. Retention rules on the repo are 30 days so the dev artifacts won't be staying around for too long.

@cloudsmith-iduffy
cloudsmith-iduffy merged commit 06269b1 into master Aug 17, 2026
25 of 34 checks passed
@cloudsmith-iduffy
cloudsmith-iduffy deleted the eng-13952-dev-release-workflow branch August 17, 2026 13:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants