chore(ENG-13952): add dev-release workflow for standalone binaries - #357
Conversation
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>
Revert this commit after the test run passes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
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 Releaseworkflow_dispatchworkflow that builds standalone binaries via the reusablebinaries.yml. - Publishes artifacts to the Cloudsmith dev repo using a derived
-dev.<run_number>.g<short_sha>Cloudsmith package version anddev-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.
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>
|
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
left a comment
There was a problem hiding this comment.
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).
|
Will create a follow up ticket for us to do that adjustment. |
|
Will future ticket it. Retention rules on the repo are 30 days so the dev artifacts won't be staying around for too long. |
What
Add a manually dispatched
Dev Releaseworkflow (ENG-13952). It builds the standalone binaries for the selected branch with the reusablebinaries.ymlworkflow. It publishes them to the Cloudsmith repository set in theCLOUDSMITH_DEV_REPOrepository variable.How it works
cloudsmith-cli-<target>. Each build gets the version<base>-dev.<run_number>.g<short_sha>and the tagsdev-buildandbranch-<name>.cloudsmith_cli/data/VERSION. A build-time version override would change the reusablebinaries.ymlworkflow and break its version smoketests, so it is out of scope here..github/scripts/binaries-matrix.json, the same source as the build matrix.Setup before the first run
CLOUDSMITH_DEV_REPOrepository variable (done).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