Repository navigation
Version numbers conf parsing script - #4304
adamfarley merged 48 commits into
Conversation
Signed-off-by: Adam Farley <adfarley@ibm.com>
This version is far more conservative so as to minimise risk of disruption to the builds. Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
|
Test run on jdk25u, where we see the issue we're trying to solve. https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk25u/job/jdk25u-windows-x64-temurin/13/ Update: Specifying a default build number of 0 causes problems (detailed below), so I'm changing it to "1" and rerunning. https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk25u/job/jdk25u-windows-x64-temurin/14/ When we specify a build number of 0, the openjdk build scripts interpret that as there being no build number at all. This means that the vendor string and folder names use build number "0", while everything else uses an empty string. So we end up having the same problem. The installer jobs are passed a build number of "null", while the folder names are using "+0". Installer job creation fails. So I changed it to "1" to avoid that logic path. Update 2: Test passed completely. Ready for review. |
Signed-off-by: Adam Farley <adfarley@ibm.com>
|
General comment, how does the git tag get out of sync with that conf file? Should one or the other not be corrected? |
Ah yes. I removed an elif by accident. All sorted. Linter still has concerns though. Fixing them now. |
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
|
And here's a jenkins helper tweak to accommodate build number 0 (so VersionInfo doesn't return a null). Testing here: https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk25u/job/jdk25u-windows-x64-temurin/18/ It passed the relevant stages, but failed SBOM validation. I've written a fix and tested it here: https://ci.adoptium.net/job/sbom_validator_job/272 - passed. |
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
|
Here is the PR for passing an empty string into the sbom validator when scm is not set. |
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
Signed-off-by: Adam Farley <adfarley@ibm.com>
|
Merged. Thanks for the reviews and your help refining this code. |
|
On request, here's an additional test run against a repo without any tags: https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk25u/job/jdk25u-windows-x64-temurin/35 Update: It passed correctly. We received two warnings:
|
* First draft of version numbers conf parsing script Signed-off-by: Adam Farley <adfarley@ibm.com> * Second draft of the jdk version file parser This version is far more conservative so as to minimise risk of disruption to the builds. Signed-off-by: Adam Farley <adfarley@ibm.com> * Linter fixes and improvements Signed-off-by: Adam Farley <adfarley@ibm.com> * Checking for unbound SCM_REF Signed-off-by: Adam Farley <adfarley@ibm.com> * Redelimiting unbound variable Signed-off-by: Adam Farley <adfarley@ibm.com> * Making a zero-length check shorter Signed-off-by: Adam Farley <adfarley@ibm.com> * Amending null check to include indexing errors Signed-off-by: Adam Farley <adfarley@ibm.com> * Changing bash delimiters to disable index expansion Signed-off-by: Adam Farley <adfarley@ibm.com> * Trialling removal of a flaky if condition Signed-off-by: Adam Farley <adfarley@ibm.com> * Adding quotes for string Signed-off-by: Adam Farley <adfarley@ibm.com> * Fix for version string parser in build.sh Signed-off-by: Adam Farley <adfarley@ibm.com> * Refactoring unbound variable handling Signed-off-by: Adam Farley <adfarley@ibm.com> * Removing superfluous dollar sign Signed-off-by: Adam Farley <adfarley@ibm.com> * Switching to -v for cross-compatibility Signed-off-by: Adam Farley <adfarley@ibm.com> * Switching to -z again Signed-off-by: Adam Farley <adfarley@ibm.com> * Switching to -v Signed-off-by: Adam Farley <adfarley@ibm.com> * Another try Signed-off-by: Adam Farley <adfarley@ibm.com> * Trying a for loop Signed-off-by: Adam Farley <adfarley@ibm.com> * Adding formatting whitespace Signed-off-by: Adam Farley <adfarley@ibm.com> * Changing default build number to 1 in version string Signed-off-by: Adam Farley <adfarley@ibm.com> * Handling an incorrect number of arguments Signed-off-by: Adam Farley <adfarley@ibm.com> * Updating arg validation logic and comments Signed-off-by: Adam Farley <adfarley@ibm.com> * Switching build_src to camel case Signed-off-by: Adam Farley <adfarley@ibm.com> * Updated comments Signed-off-by: Adam Farley <adfarley@ibm.com> * Removing duplicate error reporting logic Signed-off-by: Adam Farley <adfarley@ibm.com> * Extra comments and restructuring for readability Signed-off-by: Adam Farley <adfarley@ibm.com> * Extra comments for clarity Signed-off-by: Adam Farley <adfarley@ibm.com> * Useful comment Signed-off-by: Adam Farley <adfarley@ibm.com> * Extracting file parsing logic from compareToOpenJDKFileVersion Signed-off-by: Adam Farley <adfarley@ibm.com> * Removing unused variable Signed-off-by: Adam Farley <adfarley@ibm.com> * Switching to -n to avoid scm_ref unbound variable issue Signed-off-by: Adam Farley <adfarley@ibm.com> * Switching version file parser gate to TAG for better locality Signed-off-by: Adam Farley <adfarley@ibm.com> * Updating jdk version comparison logic for brevity and clarity Signed-off-by: Adam Farley <adfarley@ibm.com> * Changing if to elif to prevent multiple matches Signed-off-by: Adam Farley <adfarley@ibm.com> * Quoting grep output to prevent splitting Signed-off-by: Adam Farley <adfarley@ibm.com> * Adding warning message for jdk version override Signed-off-by: Adam Farley <adfarley@ibm.com> * Removing excess whitespace Signed-off-by: Adam Farley <adfarley@ibm.com> * Updating SBOM validator to better handle false negatives Signed-off-by: Adam Farley <adfarley@ibm.com> * Restructuring SHA check in SBOM validation Signed-off-by: Adam Farley <adfarley@ibm.com> * Improving posix compliance of SBOM validation Signed-off-by: Adam Farley <adfarley@ibm.com> * Changing script to use empty strings instead of nulls Signed-off-by: Adam Farley <adfarley@ibm.com> * Amending curl command for efficiency Signed-off-by: Adam Farley <adfarley@ibm.com> * Allow for empty scm parameter Signed-off-by: Adam Farley <adfarley@ibm.com> * Removing unnecessary code Signed-off-by: Adam Farley <adfarley@ibm.com> * Make code shorter and easier to read Signed-off-by: Adam Farley <adfarley@ibm.com> * Making code more concise and easier to maintain Signed-off-by: Adam Farley <adfarley@ibm.com> --------- Signed-off-by: Adam Farley <adfarley@ibm.com>
This ensures that we're using the OpenJDK version string as defined in the version_numbers.conf file rather than the git tag (if the two are different).
We do this because conflicts have caused problems in the past, where we tell (e.g.) an installer creation job that various dependencies are in the folder for version 1, even though the folders are named after version 2 in version_numbers.conf.
Resolves #4302