-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reproducible builds #103
Comments
Yes, the release build was indeed built on a Windows machine. I do believe I built from a commit the tag points to, and checking my local tree right now indeed shows no differences with origin. Could you share the zip file? |
But the previous release was not. Unfortunately, Windows inserts different line breaks (
No artifacts from previous builds either? Gradle likes to cache them, and so does Android Studio. While the Github CI always builds from a "clean tree" as it starts with a "blank" image (as do our RBs), so there are no artifacts. So when not building with the CI, you'd have to run TL;DR: Might be worth considering to have the release builds always created by the CI here. I can check such a "clean build" against ours then if you wish (i.e. if you "now" create one from the tag the way you'd do it in the future).
Sure, there you go: dex.zip |
Sure, I will only use the CI builds for release APKs from now on, should I update the APK for the current release? |
Cool! That will make automated RB-updates a log easier, thanks!
One shouldn't replace what has already be distributed – so better have a "maintenance release" for that. Before doing so, may I suggest we first check such a build to make sure we're not in the same situation again with it? Could you build a release APK using the CI, rename it to |
Here's thee CI build which was built from v4.2.0 release |
Thanks! That was not renamed to |
Done, I am waiting for confirmation if everything works, then I'm closing this |
Thanks a lot! Looks fine now 🤩 |
At IzzyOnDroid we support Reproducible Builds (see: Reproducible Builds, special client support and more at IzzyOnDroid). SongSync was established with RB here, and the previous release (v4.1.0) was successfully built as RB – but the current one (v4.2.0) failed, with a huge diff in
classes.dex
. Was that APK really built from a clean tree at the commit the tag points to?Here's the diff of the APK:
The difference in
META-INF/services/*
are line endings, so this APK has probably NOT been built using your Github workflows but on a Windows machine. The differences inbaseline.prof
was to be expected ifclasses.dex
differs. Which is too big to quote here (70+ kB) – but if you're interested, I can zip and attach it.We'd appreciate if you could help making your build reproducible. We've prepared some hints on reproducible builds for that.
Looking forward to your reply!
The text was updated successfully, but these errors were encountered: