Sapphire official releases now working
That is wonderful, thanks @Bloodbat!
One more change: I updated my GitHub Actions yml script to create releases for tags that start with “v2.” (official releases) or “rc2.” (release candidates). I verified by creating a release for Sapphire v2.5.7.
To make this release on GitHub, I updated the yml file only. The C++ code was not changed and that same code was used to build the plugins for Sapphire 2.5.7 in the VCV Rack Library.
Fun stuff for nerds
But do you believe me? What if I’m trying to trick you into downloading a plugin that doesn’t match the open source code I claim it is? Let’s put on the paranoid security aluminum foil hat and see how to confirm/refute my claim about the code matching.
- Visit the GitHub issue I use to send plugin integration requests to VCV Rack. Scroll to the bottom and find where I requested an update version 2.5.7. You will see the git commit hash I requested a build for. That shows you exactly what commit hash was built for the the VCV Rack Library. You will see that for version 2.5.7 I asked them to build hash f838c2364366c2b258cd63dd5ec5158237c96ed1.
- But maybe I edited that comment on GitHub after VCV Rack built the code? Let’s find out. Visit the VCV Rack Library repo list. Look for the subproject called “CosineKitty-Sapphire”. Click that link and confirm that it takes you to
https://github.com/cosinekitty/sapphire/tree/f838c2364366c2b258cd63dd5ec5158237c96ed1
. Confirm that the hash in this URL matches the one I requested in my assigned issue page. The hash in the URL is what the VCV Rack library most recently published for Sapphire. - Clone the sapphire repo from GitHub to your local machine.
- Change into the directory where you cloned the repo. Execute:
git diff v2.5.7 f838c2364366c2b258cd63dd5ec5158237c96ed1
. - Confirm that the only changes were made to the file
.github/workflows/build-plugin.yml
. Confirm that no other files were changed. - If you are a developer, at your leisure, do a
git checkout f838c2364366c2b258cd63dd5ec5158237c96ed1
and study the code. See if anything looks suspicious or dangerous! - Close the circle by going back to my GitHub release page we started with. You can see the tag linked from that page is v2.5.7, and verify its hash code (9ac911be09bf1c8960c39974d42c609d4a68ab42) matches the output in your cloned repo when you run
git show 2.5.7
.)
In my mind, this is proof that the same source code was compiled into the plugins by the VCV Rack maintainers. They used that git commit hash to build the code for their library. Anyone can audit the exact source code that matches that published plugin version to look for anything suspicious.