pacak / cargo-show-asm

cargo subcommand showing the assembly, LLVM-IR and MIR generated for Rust code
Apache License 2.0
712 stars 35 forks source link

feat(CI): automate release #257

Closed doprz closed 7 months ago

doprz commented 7 months ago

CI/CD Pipeline

git-cliff -> release-plz -> cargo-dist

Tools

git-cliff:

release-plz:

cargo-dist:

New Workflow

Release-plz makes releasing Rust packages child's play:

For every commit, release-plz creates a release Pull Request from CI. The release Pull Request reminds the maintainer about the unpublished changes. The maintainer reviews and merges the pull request. Release-plz releases the updated packages from CI. In short, release-plz makes releasing Rust packages as easy as clicking the pull request "merge" button.

@pacak You will need to follow this guide in order to finish setting up the PR: https://release-plz.ieni.dev/docs/github/quickstart

Fixes #240

pacak commented 7 months ago

The strategy of automating the release process by making a ticket and waiting worked :) Much appreciated :)

I guess I need to spend some time catching on the documentation of the projects use to how to use it.

doprz commented 7 months ago

The strategy of automating the release process by making a ticket and waiting worked :) Much appreciated :)

I guess I need to spend some time catching on the documentation of the projects use to how to use it.

No problem, happy to help! Great work with cargo-show-asm, it's a great project and it's been very helpful with my own projects such as dipc and rs-cube.

doprz commented 7 months ago

@pacak I've updated my original comment to include a better overview of my PR and the new workflow.

Essentially when new commits are pushed to main a new release PR will be included which will update cargo-show-asm's version based on conventional commits and generate a changelog.

Once you approve and merge the release PR, this new version will be published on crates.io and a new git tag will be pushed which will then trigger cargo-dist. This in turn will build cargo-show-asm for various architectures and create a new release on GitHub with these build artifacts in addition to installers + release notes from the changelog.

I also think it would be helpful if you started using https://www.conventionalcommits.org/en/v1.0.0/ and added labels, assignees, reviewers, etc for your GitHub issues + PRs for easier organization as your project begins to grow even further.

pacak commented 7 months ago

Hmm... That's not a helpful error message...

https://github.com/pacak/cargo-show-asm/actions/runs/8522886441/job/23344024028