ci: Enable workflow_dispatch action smart-release #2064
Merged
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.
Feature or Problem
When releasing a crate or one of our main binaries, wash-cli or wasmcloud, currently it can be very difficult to properly predict:
Not only that, but we should be keeping up with a changelog as well. I chose to use cargo smart-release (with workspace-deps support Byron/cargo-smart-release#17) in order to take care of the above actions automatically.
This PR adds a workflow_dispatch trigger to our
wasmcloud
action (if desired, I can migrate to a new action since I know that the workflow_dispatch wasn't release specific before) and lets you specify a crate to release. You can either directly release the crate, or leave the checkbox blank and the action will create a PR with the changes.I attempted to capture the steps to use this action in https://github.com/wasmCloud/wasmCloud/wiki/Release-Runbook, which we should be able to keep updated so that all maintainers can reuse this for new releases.
Related Issues
Fixes #2036
Release Information
N/A
Consumer Impact
Testing
Unit Test(s)
Acceptance or Integration
Manual Verification
You can see an example successful run of this in my fork:
wasmcloud-core
without execute checked https://github.com/brooksmtownsend/wasmCloud/actions/runs/8973489750/job/24643786588Additionally, by running directly on
main
with execute checkedwasmcloud-tracing
, execute checked, all changes are reflected and pushed skipping 1,2,3 above https://github.com/brooksmtownsend/wasmCloud/actions/runs/8973902728/job/24645072545 (it would pass but I want to avoid deleting old tags so that the above step shows fully what happened)