From c5e3114752ef103ab95ec635847811037cba45cd Mon Sep 17 00:00:00 2001 From: Sayali Gaikawad Date: Mon, 27 Jan 2025 14:40:44 -0800 Subject: [PATCH] Validate distribution while building RC Signed-off-by: Sayali Gaikawad --- .../distribution-build.jenkinsfile | 22 +++++++++++++++++++ .../opensearch/distribution-build.jenkinsfile | 21 ++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/jenkins/opensearch-dashboards/distribution-build.jenkinsfile b/jenkins/opensearch-dashboards/distribution-build.jenkinsfile index fa82860d87..e280ee3999 100644 --- a/jenkins/opensearch-dashboards/distribution-build.jenkinsfile +++ b/jenkins/opensearch-dashboards/distribution-build.jenkinsfile @@ -148,6 +148,9 @@ pipeline { paramType.each { key, value -> verifyParameterPlatformDistribution(key, value) } + + def inputManifestObj = lib.jenkins.InputManifest.new(readYaml(file: "manifests/${INPUT_MANIFEST}")) + env.version = inputManifestObj.build.version } } } @@ -953,6 +956,9 @@ pipeline { success { node(AGENT_LINUX_X64) { script { + if (params.RC_NUMBER.toInteger() > 0) { + triggerDistributionValidationWorkflow(env.version) + } postCleanup() } } @@ -1008,6 +1014,22 @@ def triggerBWCTests(String buildManifestUrl, String platform, String distributio } } +def triggerDistributionValidationWorkflow(String version) { + def triggerValidationWorkflow = + build job: 'distribution-validation', + propagate: true, + wait: true, + parameters: [ + string(name: 'VERSION', value: version), + string(name: 'OS_BUILD_NUMBER', value: 'latest'), + string(name: 'OSD_BUILD_NUMBER', value: BUILD_NUMBER), + string(name: 'OPTIONAL_ARGS', value: 'using-staging-artifact-only'), + string(name: 'DOCKER_SOURCE', value: 'dockerhub'), + string(name: 'PROJECTS', value: 'Both'), + string(name: 'ARTIFACT_TYPE', value: 'staging') + ] +} + def verifyParameterPlatformDistribution(String paramName, String allowedValue) { echo("Verify Parameter '$paramName'") def paramValue = env."$paramName" diff --git a/jenkins/opensearch/distribution-build.jenkinsfile b/jenkins/opensearch/distribution-build.jenkinsfile index 03b6aeeba6..f8204f0bb3 100644 --- a/jenkins/opensearch/distribution-build.jenkinsfile +++ b/jenkins/opensearch/distribution-build.jenkinsfile @@ -148,6 +148,9 @@ pipeline { paramType.each { key, value -> verifyParameterPlatformDistribution(key, value) } + + def inputManifestObj = lib.jenkins.InputManifest.new(readYaml(file: "manifests/${INPUT_MANIFEST}")) + env.version = inputManifestObj.build.version } } } @@ -914,6 +917,9 @@ pipeline { success { node(AGENT_LINUX_X64) { script { + if (params.RC_NUMBER.toInteger() > 0) { + triggerDistributionValidationWorkflow(env.version) + } postCleanup() } } @@ -969,6 +975,21 @@ def triggerBWCTests(String buildManifestUrl, String platform, String distributio } } +def triggerDistributionValidationWorkflow(String version) { + def triggerValidationWorkflow = + build job: 'distribution-validation', + propagate: true, + wait: true, + parameters: [ + string(name: 'VERSION', value: version), + string(name: 'OS_BUILD_NUMBER', value: BUILD_NUMBER), + string(name: 'OPTIONAL_ARGS', value: 'using-staging-artifact-only'), + string(name: 'DOCKER_SOURCE', value: 'dockerhub'), + string(name: 'PROJECTS', value: 'opensearch'), + string(name: 'ARTIFACT_TYPE', value: 'staging') + ] +} + def verifyParameterPlatformDistribution(String paramName, String allowedValue) { echo("Verify Parameter '$paramName'") def paramValue = env."$paramName"