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})