axodotdev / cargo-dist

📦 shippable application packaging
https://axodotdev.github.io/cargo-dist/
Apache License 2.0
1.32k stars 56 forks source link

feat: create releases without release-action #1089

Closed mistydemeo closed 3 weeks ago

mistydemeo commented 1 month ago

This cuts down on our use of external actions, swapping to calling the gh commandline tool ourselves instead of using an external action for the job.

I've tested in the standard case - creating a normal new release with artifacts and it's working. We need to also test creating a release that's a prerelease, and test the "edit existing release" flow, to ensure that everything still works as expected. We've now tested every case. It took a few bugfixes, but we should now have feature parity with the existing approach.

To be tested:

mistydemeo commented 1 month ago

Confirmed the "publish prerelease" logic works fine: https://github.com/mistydemeo/cargodisttest/releases/tag/v0.2.155-prerelease.2

mistydemeo commented 1 month ago

Confirmed create-release = false works. https://github.com/mistydemeo/cargodisttest/releases/tag/v0.2.155

mistydemeo commented 1 month ago

External repo with commit read from a submodule: https://github.com/mistydemeo/cargodisttest-target/releases/tag/v0.2.164

mistydemeo commented 1 month ago

External repo with no submodule: https://github.com/mistydemeo/cargodisttest-target/releases/tag/v0.2.165

mistydemeo commented 3 weeks ago

@Gankra Swapped to generating the command in Rust and inlining the whole thing, instead of generating it within the action itself. How's this version look to you?