CI: add release tag on release
Hello there,
Firstly I would like to thank the creator, maintainers and contributors of this project. This project is very useful and it was very interesting to read the source code.
I've been working on a small personal project that uses this crate and have made a series of patches/hack that add some specialized features for some specific use case my project required a few months back.
I was in the process of rebasing those patches against the latest release of the crate and have realised that the code on the master branch isn't the code for the latest published crate on crates.io. I have been able to awkwardly pinpoint the 0.18.1 release to the #ee73f6 commit by checking the source code on the docs.rs webpage for the project.
Could it be possible to ask if you could create and push git tags for the next Rodio releases? That would be very useful for me and probably for other coders using/perusing this project. Currently it's not clear if the master branch is stable (simply due to the fact it contains commits that aren't in the published crate), in any case I'm looking forward to the 0.19 release with TrackPosition! :)
Thank you in advance and all the best to all of you!
and have made a series of patches/hack that add some specialized features
Sounds intriguing!
I was in the process of rebasing those patches against the latest release of the crate and have realised that the code on the master branch isn't the code for the latest published crate on crates.io
Correct, when new features are added I tend to let a few weeks pass before releasing a new version in the hope that any issues are caught. The current master branch is pretty much stable, no one works on it only finished bugfixes/features land on it.
Could it be possible to ask if you could create and push git tags for the next Rodio releases?
Agreed that should be added to CI. At the moment when the version is incremented in the Cargo.toml CI triggers a release to crates.io.
in any case I'm looking forward to the 0.19 release with TrackPosition
Should be up on crates.io now.
Thank you in advance and all the best to all of you!
Thank you for your kind words :)
I kinda dislike Github actions, if anyone wants to give this a go let me know here.
Sounds intriguing!
Haha yeah I sold it hard, but basically it's just so I can enable a vu-meter, the patch exposes the output signal from a mixer for visualization purposes. It's pretty crude but if you want I can do a PR for it!
At the moment when the version is incremented in the
Cargo.tomlCI triggers a release tocrates.io.
I didn't think to look at it, it was right under my nose!
I kinda dislike Github actions, if anyone wants to give this a go let me know here.
Yea doing it this on the CI side is a great idea. I'm willing to have a go at it. I could probably have it create tags for all the published versions since the beginning of the project.
exposes the output signal from a mixer for visualization purposes
(I know almost nothing about volume but...) would a Source layer be able to do this? It could expose volume similarly to how Trackposition is implemented. You would not need to patch rodio for that (only to add it to the Sink).
It's pretty crude but if you want I can do a PR for it!
It sounds like a good feature to have in rodio. Though it might take a while to get it implemented nicely. If you have the time for that lets do a PR. A draft PR is perfectly fine, we can discuss in the PR how it could be improved/better implemented.
Yea doing it this on the CI side is a great idea. I'm willing to have a go at it.
please do :)
FTR, lib.rs has a list of git hashes corresponding to each release: https://lib.rs/crates/rodio/versions (click the "git" link).
I'm a bit sad that this isn't exposed in neither crates.io or cargo, as it is present in the .crate file.
FTR, lib.rs has a list of git hashes corresponding to each release: https://lib.rs/crates/rodio/versions (click the "git" link).
Well that's very good to know! I've tried to build a bash script that parses the git commit history in order to create tags for all the existing releases but that turned out not as simple as I thought (it was instructive though). In any case I've got a simple solution now that I have identified all the commits for all the existing releases. I've also got a simple workflow routine that will create tags when new versions are published. I just need to clean things up and write some documentation. I will publish the PR for this and it shoud be ready for reviewing very soon. Thanks!
OK I've published the PR #589
In order for it to work, a public access token with workflow rights must be created and added to the project's secrets with the name WORKFLOW_TOKEN. Thanks.