-
-
Notifications
You must be signed in to change notification settings - Fork 15
Support a release action #6
Comments
Some kind of "release" Action would be nice, but there are few questions that should be considered before. For example, would second point mean that all sub-crates in a workplace will get the version bumped? Should such Action parse sources and bump versions in there too, like in the So far I could imagine auto- |
Hi! It would be great to have some kind of "simple" release action what can be run on: on:
release
types: [published, created, edited] That will publish to crates.io and to Github releases |
@stepankuzmin As for crates.io release, it should be quite easy without any additional Action to do that, smth like this should do the job: - steps:
- uses: actions/checkout@v1
- run: cargo login ${CRATES_IO_TOKEN}
env:
CRATES_IO_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
- run: cargo publish |
Hey @svartalf, thanks for the reply! The idea was then user tags a commit — CI builds assets and publishes them on Github release page. |
@stepankuzmin yeah, that's actually is an open question for me: would it be possible to make an Action which will cover usual needs for a release process. For example, what do you mean by "assets"? Is your crate is a binary crate and you want to attach the pre-built binaries to the GH release page? Or maybe your crate is generating I'm not against the "Release" Action, obviously, but at this point I do not understand what should it do exactly, so I would love to hear opinions and workflow descriptions from various projects first. |
Exactly this! Right now a difficulty is figuring out a way to build multiple targets with Azure Pipelines achieves this nicely with their GitHub Release task, which creates a release with the first artifact that is generated, and all parallel jobs eventually add their artifacts to that created release. It also auto-generates a release message containing a commit log, but automated changelogs using conventional commit messages would be extra nice! |
I've spent some time and come with this solution based on softprops/action-gh-release. It's a bit ugly, but it works 🤷♂️ https://github.com/urbica/martin/blob/master/.github/workflows/ci.yml |
I am working on some release automation at the moment for our Rust projects. As part of that, I wrote an action which allows you to set the version of a https://github.com/thomaseizinger/set-crate-version YMMV but I've found small and focused GitHub actions more useful than larger ones. - name: Make a commit
run: |
git add Cargo.toml
git commit --message "Bump versions for upcoming release" |
What about uploading binaries built to github for each release? |
I think the method of rust-analyzer is worthy of reference, using the schedule for release. |
In my project there are multiple file I want to bump automatically in multiple file such as cargo.toml, cargo.lock, redme.md and so on. is there any way to do this. |
Hi ! Thanks for all the actions :)
Would be amazing to have a
release
action that wouldhttps://github.com/sunng87/cargo-release does most of the above
What do you think ?
The text was updated successfully, but these errors were encountered: