Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Adoptium #build daily Slack status with Reproducible build results #1091

Closed
andrew-m-leonard opened this issue Aug 8, 2024 · 4 comments · Fixed by #1113
Closed

Update Adoptium #build daily Slack status with Reproducible build results #1091

andrew-m-leonard opened this issue Aug 8, 2024 · 4 comments · Fixed by #1113
Assignees
Labels
aarch enhancement reproducible-build testing x64 Issues that affect or relate to the x64/x32 LINUX OS

Comments

@andrew-m-leonard
Copy link
Contributor

andrew-m-leonard commented Aug 8, 2024

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 %
@github-actions github-actions bot added aarch testing x64 Issues that affect or relate to the x64/x32 LINUX OS labels Aug 8, 2024
@adamfarley adamfarley self-assigned this Aug 22, 2024
@adamfarley
Copy link
Contributor

adamfarley commented Sep 12, 2024

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:
image

This was using dummy percentages, for the sake of testing the formatting.

I'm currently fixing bugs in the percentage parsing code.

@adamfarley
Copy link
Contributor

adamfarley commented Sep 16, 2024

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:

  • To remove the NA builds from the Slack output.
  • To replace NA in the breakdown (part of the groovy jenkins job output) with something more useful.
  • To replace "good" and "bad" with a list of platforms + percentages (? % if no percentage available).
  • 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

image

@adamfarley
Copy link
Contributor

Ok, the final changes are in and proven to work.

A PR has been raised here: #1113

@adamfarley
Copy link
Contributor

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: #1132

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
aarch enhancement reproducible-build testing x64 Issues that affect or relate to the x64/x32 LINUX OS
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants