From c7713a2f0e6cd66e51dce56f812da0ff5d60ec58 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Mon, 22 Apr 2024 10:12:44 +0100 Subject: [PATCH 1/6] Resolve jdk8u aarch32 tags to the port repo Signed-off-by: Andrew Leonard --- pipelines/build/openjdk_pipeline.groovy | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pipelines/build/openjdk_pipeline.groovy b/pipelines/build/openjdk_pipeline.groovy index 467f4d9d0..fa506eb74 100644 --- a/pipelines/build/openjdk_pipeline.groovy +++ b/pipelines/build/openjdk_pipeline.groovy @@ -28,6 +28,9 @@ def resolveGaTag(String jdkVersion, String jdkBranch) { def resolvedTag = jdkBranch // Default to as-is def openjdkRepo = "https://github.com/openjdk/jdk${jdkVersion}.git" + if (jdkBranch.contains("jdk8u") && jdkBranch.contains("aarch32")) { + openjdkRepo = "https://github.com/openjdk/aarch32-port-jdk8u.git" + } def gaCommitSHA = sh(returnStdout: true, script:"git ls-remote --tags ${openjdkRepo} | grep '\\^{}' | grep \"${jdkBranch}\" | tr -s '\\t ' ' ' | cut -d' ' -f1 | tr -d '\\n'") if (gaCommitSHA == "") { From 20d88e159bc6534b4fc955324ae377994e00afc9 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Mon, 22 Apr 2024 10:40:56 +0100 Subject: [PATCH 2/6] Resolve jdk8u aarch32 tags to the port repo Signed-off-by: Andrew Leonard --- pipelines/build/openjdk_pipeline.groovy | 47 +++++++++++++++++-------- 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/pipelines/build/openjdk_pipeline.groovy b/pipelines/build/openjdk_pipeline.groovy index fa506eb74..2530448dc 100644 --- a/pipelines/build/openjdk_pipeline.groovy +++ b/pipelines/build/openjdk_pipeline.groovy @@ -21,38 +21,55 @@ Closure configureBuild = null def buildConfigurations = null Map DEFAULTS_JSON = null +// Find the testenv ga commit SHA specified by the jdkBranch +def findGaCommitSHA(String repo, String jdkBranch, Boolean annotatedTag) { + def openjdkRepo = repo -// Resolve a "-ga" tag to the actual upstream openjdk build tag of the same commit -// Also check adoptium mirror for "dryrun" tags -def resolveGaTag(String jdkVersion, String jdkBranch) { - def resolvedTag = jdkBranch // Default to as-is - - def openjdkRepo = "https://github.com/openjdk/jdk${jdkVersion}.git" - if (jdkBranch.contains("jdk8u") && jdkBranch.contains("aarch32")) { - openjdkRepo = "https://github.com/openjdk/aarch32-port-jdk8u.git" - } - - def gaCommitSHA = sh(returnStdout: true, script:"git ls-remote --tags ${openjdkRepo} | grep '\\^{}' | grep \"${jdkBranch}\" | tr -s '\\t ' ' ' | cut -d' ' -f1 | tr -d '\\n'") + def annotatedTagFilter = (annotatedTag ? "| grep '\\^{}'" : "| -v grep '\\^{}'") + + def gaCommitSHA = sh(returnStdout: true, script:"git ls-remote --tags ${openjdkRepo} ${annotatedTagFilter} | grep \"${jdkBranch}\" | tr -s '\\t ' ' ' | cut -d' ' -f1 | tr -d '\\n'") if (gaCommitSHA == "") { // Try "updates" repo.. openjdkRepo = "https://github.com/openjdk/jdk${jdkVersion}u.git" - gaCommitSHA = sh(returnStdout: true, script:"git ls-remote --tags ${openjdkRepo} | grep '\\^{}' | grep \"${jdkBranch}\" | tr -s '\\t ' ' ' | cut -d' ' -f1 | tr -d '\\n'") + gaCommitSHA = sh(returnStdout: true, script:"git ls-remote --tags ${openjdkRepo} ${annotatedTagFilter} | grep \"${jdkBranch}\" | tr -s '\\t ' ' ' | cut -d' ' -f1 | tr -d '\\n'") } if (gaCommitSHA == "") { // Maybe an Adoptium "dryrun" try Adoptium mirror repo.. openjdkRepo = "https://github.com/adoptium/jdk${jdkVersion}.git" - gaCommitSHA = sh(returnStdout: true, script:"git ls-remote --tags ${openjdkRepo} | grep '\\^{}' | grep \"${jdkBranch}\" | tr -s '\\t ' ' ' | cut -d' ' -f1 | tr -d '\\n'") + gaCommitSHA = sh(returnStdout: true, script:"git ls-remote --tags ${openjdkRepo} ${annotatedTagFilter} | grep \"${jdkBranch}\" | tr -s '\\t ' ' ' | cut -d' ' -f1 | tr -d '\\n'") } if (gaCommitSHA == "") { // Maybe an Adoptium "dryrun" try Adoptium mirror "updates" repo.. openjdkRepo = "https://github.com/adoptium/jdk${jdkVersion}u.git" - gaCommitSHA = sh(returnStdout: true, script:"git ls-remote --tags ${openjdkRepo} | grep '\\^{}' | grep \"${jdkBranch}\" | tr -s '\\t ' ' ' | cut -d' ' -f1 | tr -d '\\n'") + gaCommitSHA = sh(returnStdout: true, script:"git ls-remote --tags ${openjdkRepo} ${annotatedTagFilter} | grep \"${jdkBranch}\" | tr -s '\\t ' ' ' | cut -d' ' -f1 | tr -d '\\n'") + } + + return gaCommitSHA +} + +// Resolve a "-ga" tag to the actual upstream openjdk build tag of the same commit +// Also check adoptium mirror for "dryrun" tags +def resolveGaTag(String jdkVersion, String jdkBranch) { + def resolvedTag = jdkBranch // Default to as-is + + def openjdkRepo = "https://github.com/openjdk/jdk${jdkVersion}.git" + if (jdkBranch.contains("jdk8u") && jdkBranch.contains("aarch32")) { + openjdkRepo = "https://github.com/openjdk/aarch32-port-jdk8u.git" + } + + Boolean annotatedTag = true + gaCommitSHA = findGaCommitSHA(openjdkRepo, jdkBranch, annotatedTag) + if (gaCommitSHA == "") { + // Try searching for a lightweight tag + annotatedTag = false + gaCommitSHA = findGaCommitSHA(openjdkRepo, jdkBranch, annotatedTag) } if (gaCommitSHA == "") { println "[ERROR] Unable to resolve ${jdkBranch} upstream commit, will try to match tag as-is" } else { - def upstreamTag = sh(returnStdout: true, script:"git ls-remote --tags ${openjdkRepo} | grep '\\^{}' | grep \"${gaCommitSHA}\" | grep -v \"${jdkBranch}\" | tr -s '\\t ' ' ' | cut -d' ' -f2 | sed \"s,refs/tags/,,\" | sed \"s,\\^{},,\" | tr -d '\\n'") + def annotatedTagFilter = (annotatedTag ? "| grep '\\^{}'" : "| -v grep '\\^{}'") + def upstreamTag = sh(returnStdout: true, script:"git ls-remote --tags ${openjdkRepo} ${annotatedTagFilter} | grep \"${gaCommitSHA}\" | grep -v \"${jdkBranch}\" | tr -s '\\t ' ' ' | cut -d' ' -f2 | sed \"s,refs/tags/,,\" | sed \"s,\\^{},,\" | tr -d '\\n'") if (upstreamTag != "") { println "[INFO] Resolved ${jdkBranch} to upstream build tag ${upstreamTag}" resolvedTag = upstreamTag From 92431932280c38ea930f207a582942858987dcdb Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Mon, 22 Apr 2024 10:45:18 +0100 Subject: [PATCH 3/6] Resolve jdk8u aarch32 tags to the port repo Signed-off-by: Andrew Leonard --- pipelines/build/openjdk_pipeline.groovy | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pipelines/build/openjdk_pipeline.groovy b/pipelines/build/openjdk_pipeline.groovy index 2530448dc..92aa5c2f0 100644 --- a/pipelines/build/openjdk_pipeline.groovy +++ b/pipelines/build/openjdk_pipeline.groovy @@ -25,7 +25,13 @@ Map DEFAULTS_JSON = null def findGaCommitSHA(String repo, String jdkBranch, Boolean annotatedTag) { def openjdkRepo = repo - def annotatedTagFilter = (annotatedTag ? "| grep '\\^{}'" : "| -v grep '\\^{}'") + if (annotatedTag) { + println "Searching for Annotated git tag with name '${jdkBranch}' using repo base: ${openjdkRepo}" + } else { + println "Searching for Lightweight git tag with name '${jdkBranch}' using repo base: ${openjdkRepo}" + } + + def annotatedTagFilter = (annotatedTag ? "| grep '\\^{}'" : "| grep -v '\\^{}'") def gaCommitSHA = sh(returnStdout: true, script:"git ls-remote --tags ${openjdkRepo} ${annotatedTagFilter} | grep \"${jdkBranch}\" | tr -s '\\t ' ' ' | cut -d' ' -f1 | tr -d '\\n'") if (gaCommitSHA == "") { @@ -68,7 +74,7 @@ def resolveGaTag(String jdkVersion, String jdkBranch) { if (gaCommitSHA == "") { println "[ERROR] Unable to resolve ${jdkBranch} upstream commit, will try to match tag as-is" } else { - def annotatedTagFilter = (annotatedTag ? "| grep '\\^{}'" : "| -v grep '\\^{}'") + def annotatedTagFilter = (annotatedTag ? "| grep '\\^{}'" : "| grep -v '\\^{}'") def upstreamTag = sh(returnStdout: true, script:"git ls-remote --tags ${openjdkRepo} ${annotatedTagFilter} | grep \"${gaCommitSHA}\" | grep -v \"${jdkBranch}\" | tr -s '\\t ' ' ' | cut -d' ' -f2 | sed \"s,refs/tags/,,\" | sed \"s,\\^{},,\" | tr -d '\\n'") if (upstreamTag != "") { println "[INFO] Resolved ${jdkBranch} to upstream build tag ${upstreamTag}" From 804fbb887fe55b9a2570adb5e2dccca51e68ee01 Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Mon, 22 Apr 2024 11:03:52 +0100 Subject: [PATCH 4/6] Resolve jdk8u aarch32 tags to the port repo Signed-off-by: Andrew Leonard --- pipelines/build/openjdk_pipeline.groovy | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/pipelines/build/openjdk_pipeline.groovy b/pipelines/build/openjdk_pipeline.groovy index 92aa5c2f0..975530a34 100644 --- a/pipelines/build/openjdk_pipeline.groovy +++ b/pipelines/build/openjdk_pipeline.groovy @@ -22,6 +22,7 @@ def buildConfigurations = null Map DEFAULTS_JSON = null // Find the testenv ga commit SHA specified by the jdkBranch +// Returns a Tuple of "repository", "gaCommitSHA" def findGaCommitSHA(String repo, String jdkBranch, Boolean annotatedTag) { def openjdkRepo = repo @@ -50,7 +51,11 @@ def findGaCommitSHA(String repo, String jdkBranch, Boolean annotatedTag) { gaCommitSHA = sh(returnStdout: true, script:"git ls-remote --tags ${openjdkRepo} ${annotatedTagFilter} | grep \"${jdkBranch}\" | tr -s '\\t ' ' ' | cut -d' ' -f1 | tr -d '\\n'") } - return gaCommitSHA + if (gaCommitSHA != "") { + return new Tuple(openjdkRepo, gaCommitSHA) + } else { + return null + } } // Resolve a "-ga" tag to the actual upstream openjdk build tag of the same commit @@ -64,18 +69,20 @@ def resolveGaTag(String jdkVersion, String jdkBranch) { } Boolean annotatedTag = true - gaCommitSHA = findGaCommitSHA(openjdkRepo, jdkBranch, annotatedTag) - if (gaCommitSHA == "") { + def resolveGaCommit = findGaCommitSHA(openjdkRepo, jdkBranch, annotatedTag) + if (resolveGaCommit == null) { // Try searching for a lightweight tag annotatedTag = false - gaCommitSHA = findGaCommitSHA(openjdkRepo, jdkBranch, annotatedTag) + resolveGaCommit = findGaCommitSHA(openjdkRepo, jdkBranch, annotatedTag) } - if (gaCommitSHA == "") { + if (resolveGaCommit == null) { println "[ERROR] Unable to resolve ${jdkBranch} upstream commit, will try to match tag as-is" } else { def annotatedTagFilter = (annotatedTag ? "| grep '\\^{}'" : "| grep -v '\\^{}'") - def upstreamTag = sh(returnStdout: true, script:"git ls-remote --tags ${openjdkRepo} ${annotatedTagFilter} | grep \"${gaCommitSHA}\" | grep -v \"${jdkBranch}\" | tr -s '\\t ' ' ' | cut -d' ' -f2 | sed \"s,refs/tags/,,\" | sed \"s,\\^{},,\" | tr -d '\\n'") + def foundRepo = resolveGaCommit.get(0) + def foundSHA = resolveGaCommit.get(1) + def upstreamTag = sh(returnStdout: true, script:"git ls-remote --tags ${foundRepo} ${annotatedTagFilter} | grep \"${foundSHA}\" | grep -v \"${jdkBranch}\" | tr -s '\\t ' ' ' | cut -d' ' -f2 | sed \"s,refs/tags/,,\" | sed \"s,\\^{},,\" | tr -d '\\n'") if (upstreamTag != "") { println "[INFO] Resolved ${jdkBranch} to upstream build tag ${upstreamTag}" resolvedTag = upstreamTag From 1a52f63d2ef2af50a4c3c6dc711d003f10c4bb3a Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Mon, 22 Apr 2024 11:06:04 +0100 Subject: [PATCH 5/6] Resolve jdk8u aarch32 tags to the port repo Signed-off-by: Andrew Leonard --- pipelines/build/openjdk_pipeline.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pipelines/build/openjdk_pipeline.groovy b/pipelines/build/openjdk_pipeline.groovy index 975530a34..e5f8c73f6 100644 --- a/pipelines/build/openjdk_pipeline.groovy +++ b/pipelines/build/openjdk_pipeline.groovy @@ -22,7 +22,7 @@ def buildConfigurations = null Map DEFAULTS_JSON = null // Find the testenv ga commit SHA specified by the jdkBranch -// Returns a Tuple of "repository", "gaCommitSHA" +// Returns a Tuple2 of "repository", "gaCommitSHA" def findGaCommitSHA(String repo, String jdkBranch, Boolean annotatedTag) { def openjdkRepo = repo @@ -52,7 +52,7 @@ def findGaCommitSHA(String repo, String jdkBranch, Boolean annotatedTag) { } if (gaCommitSHA != "") { - return new Tuple(openjdkRepo, gaCommitSHA) + return new Tuple2(openjdkRepo, gaCommitSHA) } else { return null } From bbf86340dd777eb03fd6a046426815800243835d Mon Sep 17 00:00:00 2001 From: Andrew Leonard Date: Mon, 22 Apr 2024 11:31:20 +0100 Subject: [PATCH 6/6] Resolve jdk8u aarch32 tags to the port repo Signed-off-by: Andrew Leonard --- pipelines/build/openjdk_pipeline.groovy | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pipelines/build/openjdk_pipeline.groovy b/pipelines/build/openjdk_pipeline.groovy index e5f8c73f6..cc867d276 100644 --- a/pipelines/build/openjdk_pipeline.groovy +++ b/pipelines/build/openjdk_pipeline.groovy @@ -32,6 +32,7 @@ def findGaCommitSHA(String repo, String jdkBranch, Boolean annotatedTag) { println "Searching for Lightweight git tag with name '${jdkBranch}' using repo base: ${openjdkRepo}" } + // Annotated tags are refs with suffix ^{} def annotatedTagFilter = (annotatedTag ? "| grep '\\^{}'" : "| grep -v '\\^{}'") def gaCommitSHA = sh(returnStdout: true, script:"git ls-remote --tags ${openjdkRepo} ${annotatedTagFilter} | grep \"${jdkBranch}\" | tr -s '\\t ' ' ' | cut -d' ' -f1 | tr -d '\\n'") @@ -79,6 +80,7 @@ def resolveGaTag(String jdkVersion, String jdkBranch) { if (resolveGaCommit == null) { println "[ERROR] Unable to resolve ${jdkBranch} upstream commit, will try to match tag as-is" } else { + // Annotated tags are refs with suffix ^{} def annotatedTagFilter = (annotatedTag ? "| grep '\\^{}'" : "| grep -v '\\^{}'") def foundRepo = resolveGaCommit.get(0) def foundSHA = resolveGaCommit.get(1)