diff --git a/jenkins/promotion/release-promotion.jenkinsfile b/jenkins/promotion/release-promotion.jenkinsfile new file mode 100644 index 0000000000..a77b6abdd7 --- /dev/null +++ b/jenkins/promotion/release-promotion.jenkinsfile @@ -0,0 +1,433 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +lib = library(identifier: 'jenkins@5.11.1', retriever: modernSCM([ + $class: 'GitSCMSource', + remote: 'https://github.com/opensearch-project/opensearch-build-libraries.git', +])) + +pipeline { + options { + timeout(time: 4, unit: 'HOURS') + } + agent none + environment { + AGENT_LINUX_X64 = 'Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host' + } + parameters { + string( + name: 'RELEASE_VERSION', + description: 'Release version', + trim: true + ) + string( + name: 'OPENSEARCH_RC_BUILD_NUMBER', + description: 'OpenSearch Release Candidate Build Number', + trim: true + ) + string( + name: 'OPENSEARCH_DASHBOARDS_RC_BUILD_NUMBER', + description: 'OpenSearch Dashboards Release Candidate Build Number', + trim: true + ) + } + stages { + stage('Parameters Check') { + steps { + script { + currentBuild.description = """RELEASE: ${RELEASE_VERSION}
OS_RC: ${OPENSEARCH_RC_BUILD_NUMBER}
OSD_RC: ${OPENSEARCH_DASHBOARDS_RC_BUILD_NUMBER}""" + if(RELEASE_VERSION.isEmpty() || OPENSEARCH_RC_BUILD_NUMBER.isEmpty() || OPENSEARCH_DASHBOARDS_RC_BUILD_NUMBER.isEmpty()) { + currentBuild.result = 'ABORTED' + error('Make sure all the parameters are passed in.') + } + } + } + } + stage('OpenSearch Debian Apt promotion') { + agent { + docker { + label AGENT_LINUX_X64 + image 'docker/library/alpine:3' + registryUrl 'https://public.ecr.aws/' + alwaysPull true + } + } + steps { + echo 'Triggering distribution-promote-repos for OpenSearch Debian Apt' + build job: 'distribution-promote-repos', wait: true, parameters: [choice(name: 'DISTRIBUTION_JOB_NAME', value: 'distribution-build-opensearch'), + choice(name: 'DISTRIBUTION_REPO_TYPE', value: 'apt'), + string(name: 'DISTRIBUTION_BUILD_NUMBER', value: params.OPENSEARCH_RC_BUILD_NUMBER), + string(name: 'INPUT_MANIFEST', value: "${params.RELEASE_VERSION}/opensearch-${params.RELEASE_VERSION}.yml"), + ] + echo 'Promotion successful for Debian Apt OpenSearch!' + } + } + stage('OpenSearch Yum promotion') { + agent { + docker { + label AGENT_LINUX_X64 + image 'docker/library/alpine:3' + registryUrl 'https://public.ecr.aws/' + alwaysPull true + } + } + steps { + echo 'Triggering distribution-promote-repos for OpenSearch Yum' + build job: 'distribution-promote-repos', wait: true, parameters: [choice(name: 'DISTRIBUTION_JOB_NAME', value: 'distribution-build-opensearch'), + choice(name: 'DISTRIBUTION_REPO_TYPE', value: 'yum'), + string(name: 'DISTRIBUTION_BUILD_NUMBER', value: params.OPENSEARCH_RC_BUILD_NUMBER), + string(name: 'INPUT_MANIFEST', value: "${params.RELEASE_VERSION}/opensearch-${params.RELEASE_VERSION}.yml"), + ] + echo 'Promotion successful for OpenSearch yum!' + } + } + stage('OpenSearch Dashboards Debian Apt promotion') { + agent { + docker { + label AGENT_LINUX_X64 + image 'docker/library/alpine:3' + registryUrl 'https://public.ecr.aws/' + alwaysPull true + } + } + steps { + echo 'Triggering distribution-promote-repos for OpenSearch Dashboards apt' + build job: 'distribution-promote-repos', wait: true, parameters: [choice(name: 'DISTRIBUTION_JOB_NAME', value: 'distribution-build-opensearch-dashboards'), + choice(name: 'DISTRIBUTION_REPO_TYPE', value: 'apt'), + string(name: 'DISTRIBUTION_BUILD_NUMBER', value: params.OPENSEARCH_DASHBOARDS_RC_BUILD_NUMBER), + string(name: 'INPUT_MANIFEST', value: "${params.RELEASE_VERSION}/opensearch-dashboards-${params.RELEASE_VERSION}.yml"), + ] + echo 'Promotion successful for Debian Apt OpenSearch Dashboards!' + } + } + stage('OpenSearch Dashboards Yum promotion') { + agent { + docker { + label AGENT_LINUX_X64 + image 'docker/library/alpine:3' + registryUrl 'https://public.ecr.aws/' + alwaysPull true + } + } + steps { + echo 'Triggering distribution-promote-repos for OpenSearch Dashboards yum' + build job: 'distribution-promote-repos', wait: true, parameters: [choice(name: 'DISTRIBUTION_JOB_NAME', value: 'distribution-build-opensearch-dashboards'), + choice(name: 'DISTRIBUTION_REPO_TYPE', value: 'yum'), + string(name: 'DISTRIBUTION_BUILD_NUMBER', value: params.OPENSEARCH_DASHBOARDS_RC_BUILD_NUMBER), + string(name: 'INPUT_MANIFEST', value: "${params.RELEASE_VERSION}/opensearch-dashboards-${params.RELEASE_VERSION}.yml"), + ] + echo 'Promotion successful for OpenSearch Dashboards yum!' + } + } + stage('OpenSearch Windows promotion') { + agent { + docker { + label AGENT_LINUX_X64 + image 'docker/library/alpine:3' + registryUrl 'https://public.ecr.aws/' + alwaysPull true + } + } + steps { + echo 'Triggering distribution-promote-artifacts for OpenSearch windows' + build job: 'distribution-promote-artifacts', wait: true, parameters: [choice(name: 'DISTRIBUTION_JOB_NAME', value: 'distribution-build-opensearch'), + choice(name: 'DISTRIBUTION_PLATFORM', value: 'windows'), + choice(name: 'DISTRIBUTION_NAME', value: 'zip'), + choice(name: 'DISTRIBUTION_ARCHITECTURE', value: 'x64'), + string(name: 'DISTRIBUTION_BUILD_NUMBER', value: params.OPENSEARCH_RC_BUILD_NUMBER), + string(name: 'INPUT_MANIFEST', value: "${params.RELEASE_VERSION}/opensearch-${params.RELEASE_VERSION}.yml"), + ] + echo 'Promotion successful for OpenSearch windows!' + } + } + stage('OpenSearch Dashboards Windows promotion') { + agent { + docker { + label AGENT_LINUX_X64 + image 'docker/library/alpine:3' + registryUrl 'https://public.ecr.aws/' + alwaysPull true + } + } + steps { + echo 'Triggering distribution-promote-artifacts for opensearch windows' + build job: 'distribution-promote-artifacts', wait: true, parameters: [choice(name: 'DISTRIBUTION_JOB_NAME', value: 'distribution-build-opensearch-dashboards'), + choice(name: 'DISTRIBUTION_PLATFORM', value: 'windows'), + choice(name: 'DISTRIBUTION_NAME', value: 'zip'), + choice(name: 'DISTRIBUTION_ARCHITECTURE', value: 'x64'), + string(name: 'DISTRIBUTION_BUILD_NUMBER', value: params.OPENSEARCH_DASHBOARDS_RC_BUILD_NUMBER), + string(name: 'INPUT_MANIFEST', value: "${params.RELEASE_VERSION}/opensearch-dashboards-${params.RELEASE_VERSION}.yml"), + ] + echo 'Promotion successful for OpenSearch Dashboards windows!' + } + } + stage('OpenSearch Linux deb arm64') { + agent { + docker { + label AGENT_LINUX_X64 + image 'docker/library/alpine:3' + registryUrl 'https://public.ecr.aws/' + alwaysPull true + } + } + steps { + echo 'Triggering distribution-promote-artifacts for OpenSearch Linux deb arm64' + build job: 'distribution-promote-artifacts', wait: true, parameters: [choice(name: 'DISTRIBUTION_JOB_NAME', value: 'distribution-build-opensearch'), + choice(name: 'DISTRIBUTION_PLATFORM', value: 'linux'), + choice(name: 'DISTRIBUTION_NAME', value: 'deb'), + choice(name: 'DISTRIBUTION_ARCHITECTURE', value: 'arm64'), + string(name: 'DISTRIBUTION_BUILD_NUMBER', value: params.OPENSEARCH_RC_BUILD_NUMBER), + string(name: 'INPUT_MANIFEST', value: "${params.RELEASE_VERSION}/opensearch-${params.RELEASE_VERSION}.yml"), + ] + echo 'Promotion successful for OpenSearch Linux deb arm64!' + } + } + stage('OpenSearch Linux deb x64') { + agent { + docker { + label AGENT_LINUX_X64 + image 'docker/library/alpine:3' + registryUrl 'https://public.ecr.aws/' + alwaysPull true + } + } + steps { + echo 'Triggering distribution-promote-artifacts for OpenSearch Linux deb x64' + build job: 'distribution-promote-artifacts', wait: true, parameters: [choice(name: 'DISTRIBUTION_JOB_NAME', value: 'distribution-build-opensearch'), + choice(name: 'DISTRIBUTION_PLATFORM', value: 'linux'), + choice(name: 'DISTRIBUTION_NAME', value: 'deb'), + choice(name: 'DISTRIBUTION_ARCHITECTURE', value: 'x64'), + string(name: 'DISTRIBUTION_BUILD_NUMBER', value: params.OPENSEARCH_RC_BUILD_NUMBER), + string(name: 'INPUT_MANIFEST', value: "${params.RELEASE_VERSION}/opensearch-${params.RELEASE_VERSION}.yml"), + ] + echo 'Promotion successful for OpenSearch Linux deb x64!' + } + } + stage('OpenSearch Dashboards Linux deb arm64') { + agent { + docker { + label AGENT_LINUX_X64 + image 'docker/library/alpine:3' + registryUrl 'https://public.ecr.aws/' + alwaysPull true + } + } + steps { + echo 'Triggering distribution-promote-artifacts for OpenSearch Dashboards Linux deb arm64' + build job: 'distribution-promote-artifacts', wait: true, parameters: [choice(name: 'DISTRIBUTION_JOB_NAME', value: 'distribution-build-opensearch-dashboards'), + choice(name: 'DISTRIBUTION_PLATFORM', value: 'linux'), + choice(name: 'DISTRIBUTION_NAME', value: 'deb'), + choice(name: 'DISTRIBUTION_ARCHITECTURE', value: 'arm64'), + string(name: 'DISTRIBUTION_BUILD_NUMBER', value: params.OPENSEARCH_DASHBOARDS_RC_BUILD_NUMBER), + string(name: 'INPUT_MANIFEST', value: "${params.RELEASE_VERSION}/opensearch-dashboards-${params.RELEASE_VERSION}.yml"), + ] + echo 'Promotion successful for OpenSearch Dashboards Linux deb arm64!' + } + } + stage('OpenSearch Dashboards Linux deb x64') { + agent { + docker { + label AGENT_LINUX_X64 + image 'docker/library/alpine:3' + registryUrl 'https://public.ecr.aws/' + alwaysPull true + } + } + steps { + echo 'Triggering distribution-promote-artifacts for OpenSearch Dashboards Linux deb x64' + build job: 'distribution-promote-artifacts', wait: true, parameters: [choice(name: 'DISTRIBUTION_JOB_NAME', value: 'distribution-build-opensearch-dashboards'), + choice(name: 'DISTRIBUTION_PLATFORM', value: 'linux'), + choice(name: 'DISTRIBUTION_NAME', value: 'deb'), + choice(name: 'DISTRIBUTION_ARCHITECTURE', value: 'x64'), + string(name: 'DISTRIBUTION_BUILD_NUMBER', value: params.OPENSEARCH_DASHBOARDS_RC_BUILD_NUMBER), + string(name: 'INPUT_MANIFEST', value: "${params.RELEASE_VERSION}/opensearch-dashboards-${params.RELEASE_VERSION}.yml"), + ] + echo 'Promotion successful for OpenSearch Dashboards Linux deb x64!' + } + } + stage('OpenSearch Linux rpm arm64') { + agent { + docker { + label AGENT_LINUX_X64 + image 'docker/library/alpine:3' + registryUrl 'https://public.ecr.aws/' + alwaysPull true + } + } + steps { + echo 'Triggering distribution-promote-artifacts for OpenSearch Linux rpm arm64' + build job: 'distribution-promote-artifacts', wait: true, parameters: [choice(name: 'DISTRIBUTION_JOB_NAME', value: 'distribution-build-opensearch'), + choice(name: 'DISTRIBUTION_PLATFORM', value: 'linux'), + choice(name: 'DISTRIBUTION_NAME', value: 'rpm'), + choice(name: 'DISTRIBUTION_ARCHITECTURE', value: 'arm64'), + string(name: 'DISTRIBUTION_BUILD_NUMBER', value: params.OPENSEARCH_RC_BUILD_NUMBER), + string(name: 'INPUT_MANIFEST', value: "${params.RELEASE_VERSION}/opensearch-${params.RELEASE_VERSION}.yml"), + ] + echo 'Promotion successful for OpenSearch Linux rpm arm64!' + } + } + stage('OpenSearch Linux rpm x64') { + agent { + docker { + label AGENT_LINUX_X64 + image 'docker/library/alpine:3' + registryUrl 'https://public.ecr.aws/' + alwaysPull true + } + } + steps { + echo 'Triggering distribution-promote-artifacts for OpenSearch Linux rpm x64' + build job: 'distribution-promote-artifacts', wait: true, parameters: [choice(name: 'DISTRIBUTION_JOB_NAME', value: 'distribution-build-opensearch'), + choice(name: 'DISTRIBUTION_PLATFORM', value: 'linux'), + choice(name: 'DISTRIBUTION_NAME', value: 'rpm'), + choice(name: 'DISTRIBUTION_ARCHITECTURE', value: 'x64'), + string(name: 'DISTRIBUTION_BUILD_NUMBER', value: params.OPENSEARCH_RC_BUILD_NUMBER), + string(name: 'INPUT_MANIFEST', value: "${params.RELEASE_VERSION}/opensearch-${params.RELEASE_VERSION}.yml"), + ] + echo 'Promotion successful for OpenSearch Linux rpm x64!' + } + } + stage('OpenSearch Dashboards Linux rpm arm64') { + agent { + docker { + label AGENT_LINUX_X64 + image 'docker/library/alpine:3' + registryUrl 'https://public.ecr.aws/' + alwaysPull true + } + } + steps { + echo 'Triggering distribution-promote-artifacts for OpenSearch Dashboards Linux rpm arm64' + build job: 'distribution-promote-artifacts', wait: true, parameters: [choice(name: 'DISTRIBUTION_JOB_NAME', value: 'distribution-build-opensearch-dashboards'), + choice(name: 'DISTRIBUTION_PLATFORM', value: 'linux'), + choice(name: 'DISTRIBUTION_NAME', value: 'rpm'), + choice(name: 'DISTRIBUTION_ARCHITECTURE', value: 'arm64'), + string(name: 'DISTRIBUTION_BUILD_NUMBER', value: params.OPENSEARCH_DASHBOARDS_RC_BUILD_NUMBER), + string(name: 'INPUT_MANIFEST', value: "${params.RELEASE_VERSION}/opensearch-dashboards-${params.RELEASE_VERSION}.yml"), + ] + echo 'Promotion successful for OpenSearch Dashboards Linux rpm arm64!' + } + } + stage('OpenSearch Dashboards Linux rpm x64') { + agent { + docker { + label AGENT_LINUX_X64 + image 'docker/library/alpine:3' + registryUrl 'https://public.ecr.aws/' + alwaysPull true + } + } + steps { + echo 'Triggering distribution-promote-artifacts for OpenSearch Dashboards Linux rpm x64' + build job: 'distribution-promote-artifacts', wait: true, parameters: [choice(name: 'DISTRIBUTION_JOB_NAME', value: 'distribution-build-opensearch-dashboards'), + choice(name: 'DISTRIBUTION_PLATFORM', value: 'linux'), + choice(name: 'DISTRIBUTION_NAME', value: 'rpm'), + choice(name: 'DISTRIBUTION_ARCHITECTURE', value: 'x64'), + string(name: 'DISTRIBUTION_BUILD_NUMBER', value: params.OPENSEARCH_DASHBOARDS_RC_BUILD_NUMBER), + string(name: 'INPUT_MANIFEST', value: "${params.RELEASE_VERSION}/opensearch-dashboards-${params.RELEASE_VERSION}.yml"), + ] + echo 'Promotion successful for OpenSearch Dashboards Linux rpm x64!' + } + } + stage('OpenSearch Linux tar arm64') { + agent { + docker { + label AGENT_LINUX_X64 + image 'docker/library/alpine:3' + registryUrl 'https://public.ecr.aws/' + alwaysPull true + } + } + steps { + echo 'Triggering distribution-promote-artifacts for OpenSearch Linux tar arm64' + build job: 'distribution-promote-artifacts', wait: true, parameters: [choice(name: 'DISTRIBUTION_JOB_NAME', value: 'distribution-build-opensearch'), + choice(name: 'DISTRIBUTION_PLATFORM', value: 'linux'), + choice(name: 'DISTRIBUTION_NAME', value: 'tar'), + choice(name: 'DISTRIBUTION_ARCHITECTURE', value: 'arm64'), + string(name: 'DISTRIBUTION_BUILD_NUMBER', value: params.OPENSEARCH_RC_BUILD_NUMBER), + string(name: 'INPUT_MANIFEST', value: "${params.RELEASE_VERSION}/opensearch-${params.RELEASE_VERSION}.yml"), + ] + echo 'Promotion successful for OpenSearch Linux tar arm64!' + } + } + stage('OpenSearch Linux tar x64') { + agent { + docker { + label AGENT_LINUX_X64 + image 'docker/library/alpine:3' + registryUrl 'https://public.ecr.aws/' + alwaysPull true + } + } + steps { + echo 'Triggering distribution-promote-artifacts for OpenSearch Linux tar x64' + build job: 'distribution-promote-artifacts', wait: true, parameters: [choice(name: 'DISTRIBUTION_JOB_NAME', value: 'distribution-build-opensearch'), + choice(name: 'DISTRIBUTION_PLATFORM', value: 'linux'), + choice(name: 'DISTRIBUTION_NAME', value: 'tar'), + choice(name: 'DISTRIBUTION_ARCHITECTURE', value: 'x64'), + string(name: 'DISTRIBUTION_BUILD_NUMBER', value: params.OPENSEARCH_RC_BUILD_NUMBER), + string(name: 'INPUT_MANIFEST', value: "${params.RELEASE_VERSION}/opensearch-${params.RELEASE_VERSION}.yml"), + ] + echo 'Promotion successful for OpenSearch Linux rpm x64!' + } + } + stage('OpenSearch Dashboards Linux tar arm64') { + agent { + docker { + label AGENT_LINUX_X64 + image 'docker/library/alpine:3' + registryUrl 'https://public.ecr.aws/' + alwaysPull true + } + } + steps { + echo 'Triggering distribution-promote-artifacts for OpenSearch Dashboards Linux tar arm64' + build job: 'distribution-promote-artifacts', wait: true, parameters: [choice(name: 'DISTRIBUTION_JOB_NAME', value: 'distribution-build-opensearch-dashboards'), + choice(name: 'DISTRIBUTION_PLATFORM', value: 'linux'), + choice(name: 'DISTRIBUTION_NAME', value: 'tar'), + choice(name: 'DISTRIBUTION_ARCHITECTURE', value: 'arm64'), + string(name: 'DISTRIBUTION_BUILD_NUMBER', value: params.OPENSEARCH_DASHBOARDS_RC_BUILD_NUMBER), + string(name: 'INPUT_MANIFEST', value: "${params.RELEASE_VERSION}/opensearch-dashboards-${params.RELEASE_VERSION}.yml"), + ] + echo 'Promotion successful for OpenSearch Dashboards Linux tar arm64!' + } + } + stage('OpenSearch Dashboards Linux tar x64') { + agent { + docker { + label AGENT_LINUX_X64 + image 'docker/library/alpine:3' + registryUrl 'https://public.ecr.aws/' + alwaysPull true + } + } + steps { + echo 'Triggering distribution-promote-artifacts for OpenSearch Dashboards Linux tar x64' + build job: 'distribution-promote-artifacts', wait: true, parameters: [choice(name: 'DISTRIBUTION_JOB_NAME', value: 'distribution-build-opensearch-dashboards'), + choice(name: 'DISTRIBUTION_PLATFORM', value: 'linux'), + choice(name: 'DISTRIBUTION_NAME', value: 'tar'), + choice(name: 'DISTRIBUTION_ARCHITECTURE', value: 'x64'), + string(name: 'DISTRIBUTION_BUILD_NUMBER', value: params.OPENSEARCH_DASHBOARDS_RC_BUILD_NUMBER), + string(name: 'INPUT_MANIFEST', value: "${params.RELEASE_VERSION}/opensearch-dashboards-${params.RELEASE_VERSION}.yml"), + ] + echo 'Promotion successful for OpenSearch Dashboards Linux tar x64!' + } + } + } + post { + always { + node(AGENT_LINUX_X64) { + checkout scm + script { + postCleanup() + } + } + } + } +} diff --git a/tests/jenkins/TestOpenSearchReleasePromotionTest.groovy b/tests/jenkins/TestOpenSearchReleasePromotionTest.groovy new file mode 100644 index 0000000000..26db06c5b9 --- /dev/null +++ b/tests/jenkins/TestOpenSearchReleasePromotionTest.groovy @@ -0,0 +1,168 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ + +import jenkins.tests.BuildPipelineTest +import org.junit.Before +import org.junit.Test +import org.yaml.snakeyaml.Yaml +import static com.lesfurets.jenkins.unit.global.lib.LibraryConfiguration.library +import static com.lesfurets.jenkins.unit.global.lib.GitSource.gitSource +import static com.lesfurets.jenkins.unit.MethodCall.callArgsToString +import static org.hamcrest.CoreMatchers.hasItem +import static org.hamcrest.MatcherAssert.assertThat +import static org.junit.jupiter.api.Assertions.assertThrows + +class TestOpenSearchReleasePromotionTest extends BuildPipelineTest { + + @Override + @Before + void setUp() { + + helper.registerSharedLibrary( + library().name('jenkins') + .defaultVersion('5.11.1') + .allowOverride(true) + .implicit(true) + .targetPath('vars') + .retriever(gitSource('https://github.com/opensearch-project/opensearch-build-libraries.git')) + .build() + ) + + super.setUp() + addParam('RELEASE_VERSION', '1.0.0') + addParam('OPENSEARCH_RC_BUILD_NUMBER', '2050') + addParam('OPENSEARCH_DASHBOARDS_RC_BUILD_NUMBER', '3050') + binding.setVariable('AGENT_LINUX_X64', 'Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host') + } + + @Test + void shouldExecuteWithoutErrors() { + super.testPipeline('jenkins/promotion/release-promotion.jenkinsfile', + 'tests/jenkins/jenkinsjob-regression-files/promotion/release-promotion.jenkinsfile') + + def callStack = helper.getCallStack() + // Parameters Check + assertCallStack().contains('stage(Parameters Check, groovy.lang.Closure)') + + // OpenSearch Debian Apt promotion + assertCallStack().contains('stage(OpenSearch Debian Apt promotion, groovy.lang.Closure)') + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_REPO_TYPE, value=apt})") + + // OpenSearch Yum promotion + assertCallStack().contains('stage(OpenSearch Yum promotion, groovy.lang.Closure)') + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_REPO_TYPE, value=yum})") + + // OpenSearch Dashboards Debian Apt promotion + assertCallStack().contains('stage(OpenSearch Dashboards Debian Apt promotion, groovy.lang.Closure)') + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch-dashboards})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_REPO_TYPE, value=apt})") + + // OpenSearch Dashboards Yum promotion + assertCallStack().contains('stage(OpenSearch Dashboards Yum promotion, groovy.lang.Closure)') + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch-dashboards})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_REPO_TYPE, value=yum})") + + // OpenSearch Windows promotion + assertCallStack().contains('stage(OpenSearch Windows promotion, groovy.lang.Closure)') + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=windows})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_NAME, value=zip})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=x64})") + + // OpenSearch Dashboards Windows promotion + assertCallStack().contains('stage(OpenSearch Dashboards Windows promotion, groovy.lang.Closure)') + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch-dashboards})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=windows})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_NAME, value=zip})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=x64})") + + // OpenSearch Linux deb arm64 + assertCallStack().contains('stage(OpenSearch Linux deb arm64, groovy.lang.Closure)') + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_NAME, value=deb})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=arm64})") + + // OpenSearch Linux deb x64 + assertCallStack().contains('stage(OpenSearch Linux deb x64, groovy.lang.Closure)') + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_NAME, value=deb})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=x64})") + + // OpenSearch Dashboards Linux deb arm64 + assertCallStack().contains('stage(OpenSearch Dashboards Linux deb arm64, groovy.lang.Closure)') + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch-dashboards})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_NAME, value=deb})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=arm64})") + + // OpenSearch Dashboards Linux deb x64 + assertCallStack().contains('stage(OpenSearch Dashboards Linux deb x64, groovy.lang.Closure)') + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch-dashboards})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_NAME, value=deb})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=x64})") + assertCallStack().contains("release-promotion.string({name=DISTRIBUTION_BUILD_NUMBER, value=3050})") + + // OpenSearch Linux rpm arm64 + assertCallStack().contains('stage(OpenSearch Linux rpm arm64, groovy.lang.Closure)') + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_NAME, value=rpm})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=arm64})") + + // OpenSearch Linux rpm x64 + assertCallStack().contains('stage(OpenSearch Linux rpm x64, groovy.lang.Closure)') + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_NAME, value=rpm})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=x64})") + + // OpenSearch Dashboards Linux rpm arm64 + assertCallStack().contains('stage(OpenSearch Dashboards Linux rpm arm64, groovy.lang.Closure)') + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch-dashboards})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_NAME, value=rpm})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=arm64})") + + // OpenSearch Dashboards Linux rpm x64 + assertCallStack().contains('stage(OpenSearch Dashboards Linux rpm x64, groovy.lang.Closure)') + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch-dashboards})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_NAME, value=rpm})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=x64})") + + // OpenSearch Linux tar arm64 + assertCallStack().contains('stage(OpenSearch Linux tar arm64, groovy.lang.Closure)') + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_NAME, value=tar})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=arm64})") + + // OpenSearch Linux tar x64 + assertCallStack().contains('stage(OpenSearch Linux tar x64, groovy.lang.Closure)') + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_NAME, value=tar})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=x64})") + + // OpenSearch Dashboards Linux tar arm64 + assertCallStack().contains('stage(OpenSearch Dashboards Linux tar arm64, groovy.lang.Closure)') + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch-dashboards})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_NAME, value=tar})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=arm64})") + + // OpenSearch Dashboards Linux tar x64 + assertCallStack().contains('stage(OpenSearch Dashboards Linux tar x64, groovy.lang.Closure)') + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch-dashboards})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_NAME, value=tar})") + assertCallStack().contains("release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=x64})") + } +} diff --git a/tests/jenkins/jenkinsjob-regression-files/promotion/release-promotion.jenkinsfile.txt b/tests/jenkins/jenkinsjob-regression-files/promotion/release-promotion.jenkinsfile.txt new file mode 100644 index 0000000000..737d402d3e --- /dev/null +++ b/tests/jenkins/jenkinsjob-regression-files/promotion/release-promotion.jenkinsfile.txt @@ -0,0 +1,203 @@ + release-promotion.run() + release-promotion.modernSCM({$class=GitSCMSource, remote=https://github.com/opensearch-project/opensearch-build-libraries.git}) + release-promotion.library({identifier=jenkins@5.11.1, retriever=null}) + release-promotion.pipeline(groovy.lang.Closure) + release-promotion.timeout({time=4, unit=HOURS}) + release-promotion.echo(Executing on agent [label:none]) + release-promotion.stage(Parameters Check, groovy.lang.Closure) + release-promotion.script(groovy.lang.Closure) + release-promotion.stage(OpenSearch Debian Apt promotion, groovy.lang.Closure) + release-promotion.echo(Executing on agent [docker:[alwaysPull:true, args:, containerPerStageRoot:false, label:Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host, image:docker/library/alpine:3, reuseNode:false, registryUrl:https://public.ecr.aws/, stages:[:]]]) + release-promotion.echo(Triggering distribution-promote-repos for OpenSearch Debian Apt) + release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch}) + release-promotion.choice({name=DISTRIBUTION_REPO_TYPE, value=apt}) + release-promotion.string({name=DISTRIBUTION_BUILD_NUMBER, value=2050}) + release-promotion.string({name=INPUT_MANIFEST, value=1.0.0/opensearch-1.0.0.yml}) + release-promotion.build({job=distribution-promote-repos, wait=true, parameters=[null, null, null, null]}) + release-promotion.echo(Promotion successful for Debian Apt OpenSearch!) + release-promotion.stage(OpenSearch Yum promotion, groovy.lang.Closure) + release-promotion.echo(Executing on agent [docker:[alwaysPull:true, args:, containerPerStageRoot:false, label:Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host, image:docker/library/alpine:3, reuseNode:false, registryUrl:https://public.ecr.aws/, stages:[:]]]) + release-promotion.echo(Triggering distribution-promote-repos for OpenSearch Yum) + release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch}) + release-promotion.choice({name=DISTRIBUTION_REPO_TYPE, value=yum}) + release-promotion.string({name=DISTRIBUTION_BUILD_NUMBER, value=2050}) + release-promotion.string({name=INPUT_MANIFEST, value=1.0.0/opensearch-1.0.0.yml}) + release-promotion.build({job=distribution-promote-repos, wait=true, parameters=[null, null, null, null]}) + release-promotion.echo(Promotion successful for OpenSearch yum!) + release-promotion.stage(OpenSearch Dashboards Debian Apt promotion, groovy.lang.Closure) + release-promotion.echo(Executing on agent [docker:[alwaysPull:true, args:, containerPerStageRoot:false, label:Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host, image:docker/library/alpine:3, reuseNode:false, registryUrl:https://public.ecr.aws/, stages:[:]]]) + release-promotion.echo(Triggering distribution-promote-repos for OpenSearch Dashboards apt) + release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch-dashboards}) + release-promotion.choice({name=DISTRIBUTION_REPO_TYPE, value=apt}) + release-promotion.string({name=DISTRIBUTION_BUILD_NUMBER, value=3050}) + release-promotion.string({name=INPUT_MANIFEST, value=1.0.0/opensearch-dashboards-1.0.0.yml}) + release-promotion.build({job=distribution-promote-repos, wait=true, parameters=[null, null, null, null]}) + release-promotion.echo(Promotion successful for Debian Apt OpenSearch Dashboards!) + release-promotion.stage(OpenSearch Dashboards Yum promotion, groovy.lang.Closure) + release-promotion.echo(Executing on agent [docker:[alwaysPull:true, args:, containerPerStageRoot:false, label:Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host, image:docker/library/alpine:3, reuseNode:false, registryUrl:https://public.ecr.aws/, stages:[:]]]) + release-promotion.echo(Triggering distribution-promote-repos for OpenSearch Dashboards yum) + release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch-dashboards}) + release-promotion.choice({name=DISTRIBUTION_REPO_TYPE, value=yum}) + release-promotion.string({name=DISTRIBUTION_BUILD_NUMBER, value=3050}) + release-promotion.string({name=INPUT_MANIFEST, value=1.0.0/opensearch-dashboards-1.0.0.yml}) + release-promotion.build({job=distribution-promote-repos, wait=true, parameters=[null, null, null, null]}) + release-promotion.echo(Promotion successful for OpenSearch Dashboards yum!) + release-promotion.stage(OpenSearch Windows promotion, groovy.lang.Closure) + release-promotion.echo(Executing on agent [docker:[alwaysPull:true, args:, containerPerStageRoot:false, label:Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host, image:docker/library/alpine:3, reuseNode:false, registryUrl:https://public.ecr.aws/, stages:[:]]]) + release-promotion.echo(Triggering distribution-promote-artifacts for OpenSearch windows) + release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch}) + release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=windows}) + release-promotion.choice({name=DISTRIBUTION_NAME, value=zip}) + release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=x64}) + release-promotion.string({name=DISTRIBUTION_BUILD_NUMBER, value=2050}) + release-promotion.string({name=INPUT_MANIFEST, value=1.0.0/opensearch-1.0.0.yml}) + release-promotion.build({job=distribution-promote-artifacts, wait=true, parameters=[null, null, null, null, null, null]}) + release-promotion.echo(Promotion successful for OpenSearch windows!) + release-promotion.stage(OpenSearch Dashboards Windows promotion, groovy.lang.Closure) + release-promotion.echo(Executing on agent [docker:[alwaysPull:true, args:, containerPerStageRoot:false, label:Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host, image:docker/library/alpine:3, reuseNode:false, registryUrl:https://public.ecr.aws/, stages:[:]]]) + release-promotion.echo(Triggering distribution-promote-artifacts for opensearch windows) + release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch-dashboards}) + release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=windows}) + release-promotion.choice({name=DISTRIBUTION_NAME, value=zip}) + release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=x64}) + release-promotion.string({name=DISTRIBUTION_BUILD_NUMBER, value=3050}) + release-promotion.string({name=INPUT_MANIFEST, value=1.0.0/opensearch-dashboards-1.0.0.yml}) + release-promotion.build({job=distribution-promote-artifacts, wait=true, parameters=[null, null, null, null, null, null]}) + release-promotion.echo(Promotion successful for OpenSearch Dashboards windows!) + release-promotion.stage(OpenSearch Linux deb arm64, groovy.lang.Closure) + release-promotion.echo(Executing on agent [docker:[alwaysPull:true, args:, containerPerStageRoot:false, label:Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host, image:docker/library/alpine:3, reuseNode:false, registryUrl:https://public.ecr.aws/, stages:[:]]]) + release-promotion.echo(Triggering distribution-promote-artifacts for OpenSearch Linux deb arm64) + release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch}) + release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux}) + release-promotion.choice({name=DISTRIBUTION_NAME, value=deb}) + release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=arm64}) + release-promotion.string({name=DISTRIBUTION_BUILD_NUMBER, value=2050}) + release-promotion.string({name=INPUT_MANIFEST, value=1.0.0/opensearch-1.0.0.yml}) + release-promotion.build({job=distribution-promote-artifacts, wait=true, parameters=[null, null, null, null, null, null]}) + release-promotion.echo(Promotion successful for OpenSearch Linux deb arm64!) + release-promotion.stage(OpenSearch Linux deb x64, groovy.lang.Closure) + release-promotion.echo(Executing on agent [docker:[alwaysPull:true, args:, containerPerStageRoot:false, label:Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host, image:docker/library/alpine:3, reuseNode:false, registryUrl:https://public.ecr.aws/, stages:[:]]]) + release-promotion.echo(Triggering distribution-promote-artifacts for OpenSearch Linux deb x64) + release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch}) + release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux}) + release-promotion.choice({name=DISTRIBUTION_NAME, value=deb}) + release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=x64}) + release-promotion.string({name=DISTRIBUTION_BUILD_NUMBER, value=2050}) + release-promotion.string({name=INPUT_MANIFEST, value=1.0.0/opensearch-1.0.0.yml}) + release-promotion.build({job=distribution-promote-artifacts, wait=true, parameters=[null, null, null, null, null, null]}) + release-promotion.echo(Promotion successful for OpenSearch Linux deb x64!) + release-promotion.stage(OpenSearch Dashboards Linux deb arm64, groovy.lang.Closure) + release-promotion.echo(Executing on agent [docker:[alwaysPull:true, args:, containerPerStageRoot:false, label:Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host, image:docker/library/alpine:3, reuseNode:false, registryUrl:https://public.ecr.aws/, stages:[:]]]) + release-promotion.echo(Triggering distribution-promote-artifacts for OpenSearch Dashboards Linux deb arm64) + release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch-dashboards}) + release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux}) + release-promotion.choice({name=DISTRIBUTION_NAME, value=deb}) + release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=arm64}) + release-promotion.string({name=DISTRIBUTION_BUILD_NUMBER, value=3050}) + release-promotion.string({name=INPUT_MANIFEST, value=1.0.0/opensearch-dashboards-1.0.0.yml}) + release-promotion.build({job=distribution-promote-artifacts, wait=true, parameters=[null, null, null, null, null, null]}) + release-promotion.echo(Promotion successful for OpenSearch Dashboards Linux deb arm64!) + release-promotion.stage(OpenSearch Dashboards Linux deb x64, groovy.lang.Closure) + release-promotion.echo(Executing on agent [docker:[alwaysPull:true, args:, containerPerStageRoot:false, label:Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host, image:docker/library/alpine:3, reuseNode:false, registryUrl:https://public.ecr.aws/, stages:[:]]]) + release-promotion.echo(Triggering distribution-promote-artifacts for OpenSearch Dashboards Linux deb x64) + release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch-dashboards}) + release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux}) + release-promotion.choice({name=DISTRIBUTION_NAME, value=deb}) + release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=x64}) + release-promotion.string({name=DISTRIBUTION_BUILD_NUMBER, value=3050}) + release-promotion.string({name=INPUT_MANIFEST, value=1.0.0/opensearch-dashboards-1.0.0.yml}) + release-promotion.build({job=distribution-promote-artifacts, wait=true, parameters=[null, null, null, null, null, null]}) + release-promotion.echo(Promotion successful for OpenSearch Dashboards Linux deb x64!) + release-promotion.stage(OpenSearch Linux rpm arm64, groovy.lang.Closure) + release-promotion.echo(Executing on agent [docker:[alwaysPull:true, args:, containerPerStageRoot:false, label:Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host, image:docker/library/alpine:3, reuseNode:false, registryUrl:https://public.ecr.aws/, stages:[:]]]) + release-promotion.echo(Triggering distribution-promote-artifacts for OpenSearch Linux rpm arm64) + release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch}) + release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux}) + release-promotion.choice({name=DISTRIBUTION_NAME, value=rpm}) + release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=arm64}) + release-promotion.string({name=DISTRIBUTION_BUILD_NUMBER, value=2050}) + release-promotion.string({name=INPUT_MANIFEST, value=1.0.0/opensearch-1.0.0.yml}) + release-promotion.build({job=distribution-promote-artifacts, wait=true, parameters=[null, null, null, null, null, null]}) + release-promotion.echo(Promotion successful for OpenSearch Linux rpm arm64!) + release-promotion.stage(OpenSearch Linux rpm x64, groovy.lang.Closure) + release-promotion.echo(Executing on agent [docker:[alwaysPull:true, args:, containerPerStageRoot:false, label:Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host, image:docker/library/alpine:3, reuseNode:false, registryUrl:https://public.ecr.aws/, stages:[:]]]) + release-promotion.echo(Triggering distribution-promote-artifacts for OpenSearch Linux rpm x64) + release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch}) + release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux}) + release-promotion.choice({name=DISTRIBUTION_NAME, value=rpm}) + release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=x64}) + release-promotion.string({name=DISTRIBUTION_BUILD_NUMBER, value=2050}) + release-promotion.string({name=INPUT_MANIFEST, value=1.0.0/opensearch-1.0.0.yml}) + release-promotion.build({job=distribution-promote-artifacts, wait=true, parameters=[null, null, null, null, null, null]}) + release-promotion.echo(Promotion successful for OpenSearch Linux rpm x64!) + release-promotion.stage(OpenSearch Dashboards Linux rpm arm64, groovy.lang.Closure) + release-promotion.echo(Executing on agent [docker:[alwaysPull:true, args:, containerPerStageRoot:false, label:Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host, image:docker/library/alpine:3, reuseNode:false, registryUrl:https://public.ecr.aws/, stages:[:]]]) + release-promotion.echo(Triggering distribution-promote-artifacts for OpenSearch Dashboards Linux rpm arm64) + release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch-dashboards}) + release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux}) + release-promotion.choice({name=DISTRIBUTION_NAME, value=rpm}) + release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=arm64}) + release-promotion.string({name=DISTRIBUTION_BUILD_NUMBER, value=3050}) + release-promotion.string({name=INPUT_MANIFEST, value=1.0.0/opensearch-dashboards-1.0.0.yml}) + release-promotion.build({job=distribution-promote-artifacts, wait=true, parameters=[null, null, null, null, null, null]}) + release-promotion.echo(Promotion successful for OpenSearch Dashboards Linux rpm arm64!) + release-promotion.stage(OpenSearch Dashboards Linux rpm x64, groovy.lang.Closure) + release-promotion.echo(Executing on agent [docker:[alwaysPull:true, args:, containerPerStageRoot:false, label:Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host, image:docker/library/alpine:3, reuseNode:false, registryUrl:https://public.ecr.aws/, stages:[:]]]) + release-promotion.echo(Triggering distribution-promote-artifacts for OpenSearch Dashboards Linux rpm x64) + release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch-dashboards}) + release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux}) + release-promotion.choice({name=DISTRIBUTION_NAME, value=rpm}) + release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=x64}) + release-promotion.string({name=DISTRIBUTION_BUILD_NUMBER, value=3050}) + release-promotion.string({name=INPUT_MANIFEST, value=1.0.0/opensearch-dashboards-1.0.0.yml}) + release-promotion.build({job=distribution-promote-artifacts, wait=true, parameters=[null, null, null, null, null, null]}) + release-promotion.echo(Promotion successful for OpenSearch Dashboards Linux rpm x64!) + release-promotion.stage(OpenSearch Linux tar arm64, groovy.lang.Closure) + release-promotion.echo(Executing on agent [docker:[alwaysPull:true, args:, containerPerStageRoot:false, label:Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host, image:docker/library/alpine:3, reuseNode:false, registryUrl:https://public.ecr.aws/, stages:[:]]]) + release-promotion.echo(Triggering distribution-promote-artifacts for OpenSearch Linux tar arm64) + release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch}) + release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux}) + release-promotion.choice({name=DISTRIBUTION_NAME, value=tar}) + release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=arm64}) + release-promotion.string({name=DISTRIBUTION_BUILD_NUMBER, value=2050}) + release-promotion.string({name=INPUT_MANIFEST, value=1.0.0/opensearch-1.0.0.yml}) + release-promotion.build({job=distribution-promote-artifacts, wait=true, parameters=[null, null, null, null, null, null]}) + release-promotion.echo(Promotion successful for OpenSearch Linux tar arm64!) + release-promotion.stage(OpenSearch Linux tar x64, groovy.lang.Closure) + release-promotion.echo(Executing on agent [docker:[alwaysPull:true, args:, containerPerStageRoot:false, label:Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host, image:docker/library/alpine:3, reuseNode:false, registryUrl:https://public.ecr.aws/, stages:[:]]]) + release-promotion.echo(Triggering distribution-promote-artifacts for OpenSearch Linux tar x64) + release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch}) + release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux}) + release-promotion.choice({name=DISTRIBUTION_NAME, value=tar}) + release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=x64}) + release-promotion.string({name=DISTRIBUTION_BUILD_NUMBER, value=2050}) + release-promotion.string({name=INPUT_MANIFEST, value=1.0.0/opensearch-1.0.0.yml}) + release-promotion.build({job=distribution-promote-artifacts, wait=true, parameters=[null, null, null, null, null, null]}) + release-promotion.echo(Promotion successful for OpenSearch Linux rpm x64!) + release-promotion.stage(OpenSearch Dashboards Linux tar arm64, groovy.lang.Closure) + release-promotion.echo(Executing on agent [docker:[alwaysPull:true, args:, containerPerStageRoot:false, label:Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host, image:docker/library/alpine:3, reuseNode:false, registryUrl:https://public.ecr.aws/, stages:[:]]]) + release-promotion.echo(Triggering distribution-promote-artifacts for OpenSearch Dashboards Linux tar arm64) + release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch-dashboards}) + release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux}) + release-promotion.choice({name=DISTRIBUTION_NAME, value=tar}) + release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=arm64}) + release-promotion.string({name=DISTRIBUTION_BUILD_NUMBER, value=3050}) + release-promotion.string({name=INPUT_MANIFEST, value=1.0.0/opensearch-dashboards-1.0.0.yml}) + release-promotion.build({job=distribution-promote-artifacts, wait=true, parameters=[null, null, null, null, null, null]}) + release-promotion.echo(Promotion successful for OpenSearch Dashboards Linux tar arm64!) + release-promotion.stage(OpenSearch Dashboards Linux tar x64, groovy.lang.Closure) + release-promotion.echo(Executing on agent [docker:[alwaysPull:true, args:, containerPerStageRoot:false, label:Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host, image:docker/library/alpine:3, reuseNode:false, registryUrl:https://public.ecr.aws/, stages:[:]]]) + release-promotion.echo(Triggering distribution-promote-artifacts for OpenSearch Dashboards Linux tar x64) + release-promotion.choice({name=DISTRIBUTION_JOB_NAME, value=distribution-build-opensearch-dashboards}) + release-promotion.choice({name=DISTRIBUTION_PLATFORM, value=linux}) + release-promotion.choice({name=DISTRIBUTION_NAME, value=tar}) + release-promotion.choice({name=DISTRIBUTION_ARCHITECTURE, value=x64}) + release-promotion.string({name=DISTRIBUTION_BUILD_NUMBER, value=3050}) + release-promotion.string({name=INPUT_MANIFEST, value=1.0.0/opensearch-dashboards-1.0.0.yml}) + release-promotion.build({job=distribution-promote-artifacts, wait=true, parameters=[null, null, null, null, null, null]}) + release-promotion.echo(Promotion successful for OpenSearch Dashboards Linux tar x64!) + release-promotion.node(Jenkins-Agent-AL2023-X64-C54xlarge-Docker-Host, groovy.lang.Closure) + release-promotion.checkout(groovy.lang.Closure) + release-promotion.script(groovy.lang.Closure) + release-promotion.postCleanup() + postCleanup.cleanWs({disableDeferredWipeout=true, deleteDirs=true})