-
-
Notifications
You must be signed in to change notification settings - Fork 314
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
EPIC: Support additional alternate binary downloads in Jenkins test pipelines #4350
Comments
Some notes from the chat that @sophia-guo and I just had (where we talked about how to treat these use cases in a standard way, with a goal to not keep adding an endless number of parameters).
|
Note: Unlike Openj9 Mac binaries, we only get |
For RI_JDK, the full path to the binary would be supplied via CUSTOMIZED_SDK_URL, so in the case of Mac JDKs, we can see PLATFORM=x86-64_mac|aarch64_mac and CUSTOMIZED_SDK_URL=https://someServer/pathTo/some.dmg and CUSTOMIZED_SDK_URL_CREDENTIAL_ID would be the credentials required to login to someServer. |
For INSTALLER artifacts, we also look at PLATFORM, to know that if PLATFORM=x86-64_windows|x86-32_windows, then we'd be planning to pick up a .msi file. For PLATFORM=someLinux platform, there are multiple types, .rpm/.deb, etc, so we will want to pass those in explicitly via the CUSTOMIZED_SDK_URL parameter. (SDK_RESOURCE=upstream|nightly|releases for INSTALLER files can be out of scope for this issue). |
Thought of another use case for RI_JDK
|
Thanks @sophia-guo for assigning this issue to me. Since the multijvm work is blocked by this, it'd be good to get it implemented asap. |
Since RI_JDK is needed first, thanks @Mesbah-Alam for taking that on as the first of the 3 tasks (outlined in #4350 (comment)) and repeated below:
We will add a table to this issue to outline the expected behaviour, depending on the parameters being used/set. |
Adding this table (WIP) for the purposes of outlining various scenarios and listing the expected behaviour or potential 'gotchas' for those scenarios. This can later be added as part of detailed documentation reference. Will keep fleshing this out, and noting that we may add 'constraints' around what is allowable to list in the ADDITIONAL_ARTIFACTS_REQUIRED at the same time for a particular run.
|
RE: #4350 (comment) For the combination of openj9 + nightly (first row in the table), there is an issue - 'nightly' links are openj9 artifactory, which requires that NO credentials be supplied via CUSTOMIZED_SDK_URL_CREDENTIAL_ID. However, RI JDK will be pulled from internal artifactory - which will need the credentials supplied via CUSTOMIZED_SDK_URL_CREDENTIAL_ID. So, this combination may not work, at least for Openj9. |
Ya, let's focus on the SDK_RESOURCE=customized case, as it is likely most relevant. :) |
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):
We also already support:
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.
The text was updated successfully, but these errors were encountered: