DennisBauer / RecurringExpenseTracker

A Material You recurring expense tracker, allowing you to keep track of your monthly spending.
GNU General Public License v3.0
102 stars 15 forks source link

Reproducible Builds #296

Closed IzzySoft closed 1 month ago

IzzySoft commented 2 months ago

For 2 versions now, your APK is no longer reproducible:

-------------------------------
--- /dev/fd/63  2024-08-06 19:38:24.695786186 +0200
+++ /dev/fd/62  2024-08-06 19:38:24.695786186 +0200
@@ -191,7 +191,7 @@
   composeResources/recurringexpensetracker.app.generated.resources/files/currencies.json
   32-bit CRC value (hex):                         2e1e399b
   composeResources/recurringexpensetracker.app.generated.resources/files/exchange_rates.json
-  32-bit CRC value (hex):                         b2709226
+  32-bit CRC value (hex):                         57cc9c40
   composeResources/recurringexpensetracker.app.generated.resources/values-de/strings.commonMain.cvr
   32-bit CRC value (hex):                         ae9ea835
   composeResources/recurringexpensetracker.app.generated.resources/values-es/strings.commonMain.cvr

It seems you're changing the exchange_rates.json after having committed the release, without having it checked in (or that file is being pulled at build-time and changed between your build and ours). Could you please build the APKs from a clean tree at the commit the tag points to?

We'd appreciate if you could help making/keeping your build reproducible. We've prepared some hints on reproducible builds for that. For some background, please see Reproducible bulds, special client support and more in our repo.

Thanks, and looking forward to your reply!

DennisBauer commented 2 months ago

Thank you for reaching out to me. Yes I'm updating the currency exchange rates when building a new release, which does modify the json file before the build. I'll adjust my pieline to commit this new file first before building the final apk. I'll adjust this before creating the next release.

IzzySoft commented 2 months ago

Great, thanks! Then the next release hopefully is RB again – as that file was the only difference. So starting with the next release, that file will be "static" at the tag – regardless of how much later the build starts? Looking forward to that then!

DennisBauer commented 1 month ago

@IzzySoft I just released a new version of the app 0.12.2, the workflow is not fully automated yet, I will continue to work on it, but the build should be reproducible again. Please let me know whether this solved the issue or not.

IzzySoft commented 1 month ago

RB succeeded again, thanks!