EPIC: Support additional alternate binary downloads in Jenkins test pipelines
- 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
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