adoptium / adoptium/aqa-tests

EPIC: Support additional alternate binary downloads in Jenkins test pipelines

Open
#4,350 10 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
HTML
Stars
155
Forks
346
Avg merge
2d 9h
Merged PRs (30d)
36

Description

Use this issue to both document current approach to downloading and installing artifacts for use by test pipelines and to ensure we have a clean/standardized way to add new types of artifacts. Also want to look at whether we can reduce the number of parameters required to address common behaviours.

There are several additional alternate binary downloads (with secondary automated installation steps) that are surfacing as new requirements for our Jenkins scripts.

We have identified several distinct use cases (to continue to align more of the testing under the same approach):

- [ ] RI jvm for jck compiler tests by being able to pass a second URL plus credentials
- [ ] Windows installer testing (See https://github.com/adoptium/installer/issues/559) - pass in an .msi file
- [ ] Linux installer testing - pass in URLs to .rpm | .deb, etc files
- [ ] JRE testing (already supported, USE_JRE boolean parameter) - pass in JRE alongside the JDK for testing

We also already support:
- test_images (TEST_IMAGES_REQUIRED parameter)
- debug_images (DEBUG_IMAGES_REQUIRED parameter)

These being slightly different as they are not a 'second' JDK binary artifact, but their own special type of artifact. In either event, I mention them, to consider if we can clean up our groovy code to handle many more different types of artifact to download and install via our scripts.

-----------

Parameters and behaviours relating to this issue are:

SDK_RESOURCE=upstream|nightly|releases|customized
TEST_IMAGES_REQUIRED=true|false
DEBUG_IMAGES_REQUIRED=true|false
USE_JRE=true|false
CUSTOMIZED_SDK_URL=[space-separated list of URLs]
CUSTOMIZED_SDK_URL_CREDENTIAL_ID=credentialsID_IfURLRequires

and where we make assumptions about test_image, debug_image, jre artifacts being co-located in an upstream job (for SDK_RESOURCE=upstream), or available from the Adoptium API (for SDK_RESOURCE=nightly|releases), and for SDK_RESOURCE=customized, or we can pass space separated URLs in CUSTOMIZED_SDK_URL for different artifacts.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the Jenkins scripts and current handling of SDK_RESOURCE, TEST_IMAGES_REQUIRED, DEBUG_IMAGES_REQUIRED, USE_JRE, and CUSTOMIZED_SDK_URL. Compare the existing JRE and image flows with the listed RI JVM, Windows installer, and Linux installer use cases; done means the supported artifact types have a consistent download and installation approach with clearer common parameters.

Written by the indexing model from the issue text.

Assessment

Tech stack
groovy
Domain
ci-cd, devops, testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.