Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: Enable workflow_dispatch action smart-release #2064

Merged

Conversation

brooksmtownsend
Copy link
Member

@brooksmtownsend brooksmtownsend commented May 6, 2024

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:

  1. What crates need to be released
  2. What order crates need to be released
  3. Whether to patch bump, minor bump, or leave as-is and release

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:

  1. Trigger action for wasmcloud-core without execute checked https://github.com/brooksmtownsend/wasmCloud/actions/runs/8973489750/job/24643786588
  2. PR created: Release wasmcloud-core brooksmtownsend/wasmCloud#3
  3. PR merged, action triggered with execute checked
  4. Action runs, creating tags and releases https://github.com/brooksmtownsend/wasmCloud/actions/runs/8973533429/job/24643936734, https://github.com/brooksmtownsend/wasmCloud/releases/tag/wasmcloud-core-v0.6.0

Additionally, by running directly on main with execute checked

  1. Trigger action for wasmcloud-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)

@brooksmtownsend brooksmtownsend requested review from a team as code owners May 6, 2024 18:24
Signed-off-by: Brooks Townsend <brooksmtownsend@gmail.com>

wip: try PR

Signed-off-by: Brooks Townsend <brooksmtownsend@gmail.com>

sudo

RUSTFLAGS don't fail on warn

no git config

Signed-off-by: Brooks Townsend <brooksmtownsend@gmail.com>

ls

fetch forever and tags

Signed-off-by: Brooks Townsend <brooksmtownsend@gmail.com>

test user/name

diff between execute and not

signoff, title

cache annoying

inputs

changelog

Signed-off-by: Brooks Townsend <brooksmtownsend@gmail.com>

publish
Copy link
Contributor

@vados-cosmonic vados-cosmonic left a comment

Choose a reason for hiding this comment

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

LGTM 🚀 nothing but nits

.github/workflows/wasmcloud.yml Outdated Show resolved Hide resolved
.github/workflows/wasmcloud.yml Show resolved Hide resolved
.github/workflows/wasmcloud.yml Show resolved Hide resolved
.github/workflows/wasmcloud.yml Show resolved Hide resolved
Signed-off-by: Brooks Townsend <brooksmtownsend@gmail.com>
Signed-off-by: Brooks Townsend <brooksmtownsend@gmail.com>

chore; better description

Signed-off-by: Brooks Townsend <brooksmtownsend@gmail.com>
@brooksmtownsend brooksmtownsend merged commit 91737a5 into wasmCloud:main May 7, 2024
50 checks passed
@brooksmtownsend brooksmtownsend deleted the feat/cargo-smart-release branch May 7, 2024 16:15
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.

[FEATURE] One-button wash releases
3 participants