-
-
Notifications
You must be signed in to change notification settings - Fork 251
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
Add reproducible comparison tests for windows and update tests for linux running out of docker image #3683
Comments
Basically for running tests in jenkins anything needed to install in script https://github.com/adoptium/temurin-build/blob/master/tooling/reproducible/linux_repro_build_compare.sh and https://github.com/adoptium/temurin-build/blob/master/tooling/reproducible/windows_repro_build_compare.sh will have the permission issue. |
What is the reason / use-case for wanting to do the Linux comparison outside docker? I'm unclear from this why that is required. |
3-fold:
Later, we may also want to re-include a ContainerizedReproducibleTest test target that runs inside of a container that can be run manually, to verify that use-case is also still working. |
The test nodes are setup using the same playbooks as the docker image, so to mostly extent dependencies should be the same. |
I thought we already know that a different version of a Linux distribution was unable to give an identical build since we cannot guarantee that all of the system packages are identical, so this feels like a bit of a non-starter to me at the moment. We /may/ be able to get closer with a devkit but IMHO this won't work just now.
This is incorrect. The static docker machines (those named I would have thought that the thing we wanted to achieve for rebuilding from an SBoM was to have a clean image of a suitable type (which is why docker would be ideal) add the prerequisites from the SBoM (Currently they are defined in a list at
While I appreciate that the choice to add this in the |
Ah, thanks for clarifying, I don't think we realised that, that could be an issue then |
Jenkins user doesn't have the permission to install whatever the prerequisites from the SBoM. |
Correct (and it should not have those permissions otherwise it would be able to affect the setup of the machine which would be a security concern). How does this work for the existing reproducible build tests that are in the pipelines? Are they testing in a clean CentOS environment (such as a new docker container) or using the existing docker build container which has all of the appropriate things installed? I feel that one of those two options would be the preferred solution here. Ideally the first (and that's what I did to test the initial reproducibility script for Linux) but the second would be a valid comparison too. |
The existing reproducible build tests that are in the pipelines use the exact same environment as the temurin build itself. All linuxs are using the specified dockerImage -adoptopenjdk/****_build_image - using dockeimage at jenkins level. Reproducible comparing tests in aqa-tests - running with dockerimage at TKG level ( docker command) |
I'm now confused - I thought from the title that this issue was about running outside of a docker image? Is the intention here to run the same docker image, but just from the TKG level? And is it the centos7_build_image or a based centos7? If we can do it from a base centos7 (which would allow you to install all of the packages from the SBoM as you could run in the container as root) from TKG that would be great! In which case there is no concern with the ability to have a reproduce comparison, but it would still need to be tied to a machine that can run docker (which from Shelley's comment we can't currently do if it's in the |
Using docker image one the initially one or stage one as originally according to the docs only docker one is available. This issue is trying to run outside of a docker image for linuxs, which is more generic? |
I had a chat with Sophia to clarify the above. "Stage one" here refers to adoptium/aqa-tests#4868 "the docs" referring to doing things in docker is the build wiki page at https://github.com/adoptium/temurin-build/wiki/How-to-create-a-%22reproducible-build%22-on-a-Linux-OS which uses the centos7_build_image When I refer to a "clean" or "base" image I'm talking about the upstream docker images e.g. the output from |
According to the discussion with @sxa and @smlambert Ideally
If can only run with Docker for linux
|
Failed adoptium/aqa-tests#5345. To help debug two updates will be helpful
|
Tests are running in as part of aqa-tests builds, close this. |
Linux support for reproducible comparision has supported without docker image requirement and windows support for building from SBOM script is available.
linux ( not in docker image ) Update reproducible comparing tests on linux (not docker image) #3687
windows Add reproducible comparison tests on windows #3711
Tests in aqa-tests can be updated to support more generic cases.
The text was updated successfully, but these errors were encountered: