Update Adoptium #build daily Slack status with Reproducible build results
TRSS now has a "Rebuild_Same_JDK_Reproducibility_Test_0", which reports a "Reproducibility %" : https://trss.adoptium.net/deepHistory?testId=66b48b8dd24e1b006eaa48d5
We should add a new line to the #build daily Slack status reporting the latest EA reproducibility for the reproducible versions and platforms. So currently:
- jdk21u : x64Linux, aarch64Linux, ppc64leLinux, x64Windows, x64Mac, aarch64Mac
Status script: https://github.com/adoptium/ci-jenkins-pipelines/blob/master/tools/nightly_build_and_test_stats.groovy
Comparing /home/user/jdk-21.0.4+7 with /cygdrive/c/workspace/openjdk-build/workspace/build/openjdkbuild/images/jdk ... output to file: reprotest.diff
Number of differences: 0
ReproduciblePercent = 100 %
I've been working on this task in the repository branch here.
I've set up a temporary jenkins job here to test it as I go along.
The results are sent to my Slack Member ID as a direct message, to avoid swamping the build channel.
Example of last successful output:
This was using dummy percentages, for the sake of testing the formatting.
I'm currently fixing bugs in the percentage parsing code.
Update: The code works! We now gather the correct percentages from the correct locations.
Intentionally untested comparable builds that will be tested in the future are labelled "NA".
The output is as depicted below. I'm working with Andrew Leonard to refine the output to make it smaller and most useful.
Pending tasks:
- [x] To remove the NA builds from the Slack output.
- [x] To replace NA in the breakdown (part of the groovy jenkins job output) with something more useful.
- [x] To replace "good" and "bad" with a list of platforms + percentages (? % if no percentage available).
- [x] To remove the hard-coded specific-pipeline TRSS URL, and re-test.
- I did this to make sure I'm testing the new code with a pipeline that ran tests.
Also, I've added the ability for us to specify different test names + locations by platform.
https://github.com/adoptium/temurin-build/blob/master/test/system/reproducibleCompare/playlist.xml
Ok, the final changes are in and proven to work.
A PR has been raised here: https://github.com/adoptium/ci-jenkins-pipelines/pull/1113
PR 1113 is fully functional.
We have identified a good next step for this enhancement, and that work will be progressed in another issue here: https://github.com/adoptium/ci-jenkins-pipelines/issues/1132