Open
Description
Related to AdoptOpenJDK/TSC#158, this issue is to layout some of the build activities needed in order to achieve reproducible builds (as defined by https://reproducible-builds.org/). Creating this here, as it really should be independent of CI system. A reproducible system may eventually be fed to Jenkins/Azure Devops or used on the command line, but ideally should not be restricted to just one approach.
- Assess what information we currently gather and have access to (including release file, console output, log files)
- Start to populate a .buildInfo file (a format for this Bill of Materials is defined here: https://reproducible-builds.org/docs/jvm/)
- Identify what pieces of information we are missing from populating a complete .buildInfo file
- Extend build scripts to be able to take a .buildInfo file as input for rerunning and reproducing the build (first iterations of this work do not need to achieve exact same builds, but rather should be able to identify pieces that are not the same)
Since infrastructure and test also form a part of this story, we will also identify how we need to reproduce those aspects of a full release build as well.
Related EPICs and issues:
Metadata
Metadata
Assignees
Labels
Issues that relate to how our code works with other third party code basesIssues that request updates to our documentationIssues that enhance the code or documentation of the repo in any wayIssues that are large and likely multi-layered features or refactorsIssues that enhance or fix our test suites