Skip to content

Conversation

@joshrotenberg
Copy link
Collaborator

@joshrotenberg joshrotenberg commented Aug 28, 2025

Problem

Binary artifacts are not being created for releases. The v0.1.1 release has no binaries attached.

Root Cause

  1. The release workflow was autogenerated by cargo-dist but wasn't properly configured
  2. The workflow expected tags like 0.1.0 but release-plz creates tags like redisctl-v0.1.1
  3. Manual edits to the workflow were rejected by cargo-dist's validation

Solution

Properly configured cargo-dist with:

  • Created dist-workspace.toml with tag-namespace = "redisctl"
  • This generates a workflow that triggers on redisctl**[0-9]+.[0-9]+.[0-9]+*
  • Workflow is now redisctl-release.yml (namespace-prefixed)

Changes

  1. Added dist-workspace.toml configuration file
  2. Generated new redisctl-release.yml workflow
  3. Removed old release.yml workflow
  4. Workflow now properly triggers on release-plz tags

Testing

Once merged, the workflow will trigger automatically for:

  • Existing tag redisctl-v0.1.1 can be re-pushed to build binaries
  • Future releases from release-plz will automatically build binaries

Impact

All future releases will automatically build and attach binary artifacts for:

  • macOS (x86_64 and aarch64)
  • Linux (x86_64 and aarch64)
  • Windows (x86_64)

- Add 'toolchain: stable' to dtolnay/rust-toolchain action
- Remove continue-on-error from cargo-deny since deny.toml is configured
- Fixes workflow parsing error that caused immediate failure
- Change pattern from '**[0-9]+.[0-9]+.[0-9]+*' to '**v[0-9]+.[0-9]+.[0-9]+*'
- This matches tags like redisctl-v0.1.1 created by release-plz
- Fixes missing binary artifacts on releases
- Change workflow name from 'Release' to 'Release Binaries'
- Makes it clearer in GitHub Actions UI what this workflow does
- Initialize cargo-dist properly with dist-workspace.toml
- Set tag-namespace to 'redisctl' to match release-plz tags
- Generated workflow now triggers on 'redisctl**[0-9]+.[0-9]+.[0-9]+*'
- Removed old release.yml, using redisctl-release.yml instead
- This will enable binary builds for tags like redisctl-v0.1.1
@joshrotenberg joshrotenberg merged commit dd28044 into main Aug 28, 2025
9 checks passed
@joshrotenberg joshrotenberg deleted the fix/release-workflow-tag-pattern branch August 28, 2025 14:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants