Handle multi-platform releases
colindean opened this issue · 3 comments
The release CI only handles building an OCI image. I speculate that the release artifacts are handled locally. The ripgrep release.yml might be a good example to follow.
I'm happy to do this up if you greenlight it.
I have a shell script that builds it and gets it code signed with Apple, and then I publish to GitHub manually. I think for now we should keep the system the same since I don’t make releases often enough, and the nix stuff is already broken for some reason. Unfortunately I haven’t learned nix yet so I haven’t looked into it. Feel free to look into the OCI stuff but for now I don’t think the effort is worth automating the rest of the release
The release stuff I'm looking into seems relative simple with some copy-paste to handle codesigning, and it would enable releasing a binary for Windows, too.
Seems like you can store your Apple certs in GHA secrets, then pull them out with https://github.com/Apple-Actions/import-codesign-certs and then use them in something like https://localazy.com/blog/how-to-automatically-sign-macos-apps-using-github-actions.
Publishing to Crates.io might help, too, because then people could install it from there.
Your call!
I think it would make sense if we had more regular releases. Right now it feels like a couple of fixed issues away from not needing any releases anytime soon (mostly the Windows issue), so I don't want to waste anyones time. If interest in the tool picks up then I definitely think it would be worthwhile.