Add extra builds to test for reproducible builds#3129
Add extra builds to test for reproducible builds#3129bmwiedemann wants to merge 2 commits intoopenSUSE:masterfrom
Conversation
|
This needs to be replicated to all staging projects (incl. the dynamically setup adi projects) e.g. |
|
how are the results from rb_future1y and rb_j1 compared to be rebuildable? They merely seem to test that 'they build in the future and with -j1, but there seems to be no test so far to ensure they 'are the same' ? |
f29bb45 to
10f66d9
Compare
|
I pushed an extra commit to add prjconf in the script. |
10f66d9 to
4288065
Compare
This helps slow down introduction of new issues into Factory. See https://reproducible-builds.org/ for why this is good.
to build bit-identical rpms in extra repos to test easily for reproducible builds in a to-be-created bot.
4288065 to
4f92844
Compare
| <path project="{name}" repository="standard"/> | ||
| <arch>x86_64</arch> | ||
| </repository> | ||
| <repository name="rb_j1"> |
There was a problem hiding this comment.
so that's testing with -j1 ? how much slowdown is that causing?
There was a problem hiding this comment.
https://rb.zq1.de/compare.factory/reproducible.json has duration values for -j1 and -j4 .
For most smaller packages, it does not make much of a difference, because non-build times make up for the majority of time.
For MozillaFirefox, it says
"build_duration" : 39489,
"build_duration4" : 22782,
and for bash
"build_duration" : 363,
"build_duration4" : 274,
However, nothing needs to block on this build to finish.
| </repository>""" | ||
|
|
||
| reproducible_builds_repos = f""" | ||
| <repository name="rb_future1y"> |
There was a problem hiding this comment.
what would be the most descriptive name? maybe standard_1yinfuture ?
|
As discussed this morning, the reproducible state should be used for informational purpose (to start with) and not be blocking. Later on we can probably let the bot accept on confirmed or ask a human for confirmation when not confirmed. To not block when any of the reproducible builds fail (e.g timebomb in > 1 year) we discussed moving the reproducible builds out of the 'staging dashboard observed areas; e.g openSUSE:Factory:Staging:adi:65:reproducible (redoing what adi:65 does) This meta and prjconf snippets worked in my experiments: prj meta:prjconf |
This helps slow down introduction of new issues into Factory.
See https://reproducible-builds.org/ for why this is good.
This needs added prjconf in a central place:
The
nocheckspart is optional.