chore: support release reproducibility#1012
Conversation
This comment has been minimized.
This comment has been minimized.
ee1db3e to
ad84438
Compare
ad84438 to
26a5059
Compare
26a5059 to
213f973
Compare
213f973 to
7479414
Compare
7479414 to
857e2c6
Compare
917dd93 to
07d7fa9
Compare
07d7fa9 to
039bc2f
Compare
039bc2f to
107d707
Compare
f7c1bca to
7ed3897
Compare
7ed3897 to
4a2b16f
Compare
4a2b16f to
b676a3d
Compare
|
Given the release workflow concern @catch-21 raised, I think we should close this for now and rethink the reproducibility flow. This workflow uses the production release environment and keystore secrets, so it has the same risk profile as an actual release workflow. Since the intended consumer is WalletScrutiny / external verification, I don't think we should add another manually dispatched workflow with signing material in bitkit-android. Also, moving this exact workflow to a private bitkit-android-release repo may not solve the WalletScrutiny use case, because external verifiers need a public/auditable reproduction path. |
Agree 🤝 |
Closes #953
Related: #1006
Replaces the release reproducibility portion of #959.
Description
This PR splits the reproducibility work out of #959:
Reproducible Releaseworkflow formainnetReleasereproduction artifacts.scripts/reproduce-release.shto build/reuse the release AAB, recreate APK splits with pinnedbundletool, extract arm64 native libraries, and write checksums.docs/reproducible-builds.md.Preview
N/A
QA Notes
Manual Tests
Automated Checks
bash -n scripts/reproduce-release.shgo run github.com/rhysd/actionlint/cmd/actionlint@latest .github/workflows/reproducible-release.ymlgit diff --checkRSA, while a throwaway EC keystore reportsEC.DIFFOSCOPE_COMPARE_DIRis copied to a temp dir before cleanup and remains available after the generated output directory is removed.