aqa-tests
aqa-tests copied to clipboard
EPIC: Support additional alternate binary downloads in Jenkins test pipelines
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.