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

Make images available prior to publishing to enable testing #228

Closed
smlambert opened this issue Sep 30, 2019 · 4 comments
Closed

Make images available prior to publishing to enable testing #228

smlambert opened this issue Sep 30, 2019 · 4 comments
Milestone

Comments

@smlambert
Copy link

Related to adoptium/aqa-tests#1109

Currently there is no artifact on the Jenkins job that builds Docker or UBI images to grab the image in order to enable more testing. This issue is a request to make these images available either as an artifact to the build job, or in artifactory or via some easily queried API so that we can grab them and test them (preferably in a standardized way prior to publishing).

May also be a good time to request that Docker builds be triggered by the main build pipelines (but that is not a hard requirement in order to broaden our test coverage of images produced).

@karianna karianna added this to the October 2019 milestone Oct 4, 2019
@karianna karianna removed this from the October 2019 milestone Oct 4, 2019
@dinogun
Copy link
Collaborator

dinogun commented Oct 14, 2019

Hi @smlambert, adding tests for Docker images would be great !

  • Specifically are you looking for pre-release images which you would like tested ?
  • Or the release images themselves before they are officially published ?
  • How about running tests on the nightly builds which are already available on DockerHub to start with ?

If you are looking for pre-release images that we can run tests on locally, one way would be to setup a local docker registry. However I would suggest that we follow this process

  1. Build and push release images to the Unofficial AdoptOpenJDK DockerHub repo first.
  2. Run tests that will pull these images from the unofficial repo. We need to determine what tests need to be in the pool for the testing release docker images.
  3. If these release tests run ok, we can now create a PR on the Official AdoptOpenJDK DockerHub repo to create these "certified" images.
  4. We can also have a subset of tests run on the nightly docker images, (eg sanity), that would ensure we catch breakages early.

@smlambert
Copy link
Author

That sounds like a reasonable plan @dinogun. It is a different flow than the other build pipelines, but since the docker builds are not integrated into the main build pipelines (and perhaps will never be), its not problematic.

So, to proceed with this plan:

  1. Nightly testing: we will change the trigger of the sanity.external test target to be from the successful push of nightly images to the 'unofficial dockerhub repo' (this can and should include all types of images that get pushed).
  2. Release testing: same trigger (off of successful push of images to the unofficial dockerhub repo), but expand testing to run sanity.external and extended.external (and possibly special.external) test targets.

I will take a look at the existing docker build scripts to understand how they work, (looking for push_command.sh, but do not see it in openjdk-docker repo). Perhaps we can have a short call this week to step through the details.

@james-crowley
Copy link

@dinogun @smlambert Feel free to add me to the call if you guys end up having one. Would love to help where I can with the testing.

@smlambert
Copy link
Author

I believe with the addition of the Docker scanner tool via #345 and new job for it added here: https://ci.adoptopenjdk.net/view/Docker%20Images/job/DockerScannerTool/

We no longer need this issue. Our main outstanding issue would be adoptium/aqa-tests#1843

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants