From 89dd380c7a6f2620cfdcce17070e95a6eecb1973 Mon Sep 17 00:00:00 2001 From: Julien Papasian Date: Tue, 11 Nov 2025 11:02:14 +0100 Subject: [PATCH] Add reproducibility instructions --- docs/TECHNICAL.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/TECHNICAL.md b/docs/TECHNICAL.md index 6ba6c5959..8abdb5364 100644 --- a/docs/TECHNICAL.md +++ b/docs/TECHNICAL.md @@ -42,6 +42,22 @@ You can omit any of the following properties to let the user configure their own 10) Update GitHub release notes draft and publish. 11) Update GitHub templates in `.github/` to show the new latest version. +If anything goes bad (such as reproducibility issue), you can remove the tag using `git push origin :v6.x.y && git tag --delete v6.x.y` and trigger a new build. + + +# Reproducibility + +APKs are generated by a GitHub action from the public source code, guaranteeing they are always generated in the same conditions. + +As of 2025-11-11, the environment used is Ubuntu 24.04 (x64), with 4 CPU cores and 16 GB RAM. + +If you have more than 4 CPU cores, you may need to run the following to ensure the CPU cores match with the GitHub runner, or you may end up with [differences in the `baseline.prof` file](https://f-droid.org/docs/Reproducible_Builds/#bug-baselineprof-not-deterministic): +```shell +export CPUS_MAX=16 # Replace with your number of CPU cores +export CPUS=4 +for (( c=$CPUS_MAX; c<$CPUS; c++ )) ; do echo 0 > /sys/devices/system/cpu/cpu$c/online; done +``` + # Adding a new source