From 2f9345c938686172df659f3a8d2caefd6a380c75 Mon Sep 17 00:00:00 2001 From: Sayali Gaikawad Date: Fri, 17 Mar 2023 14:42:04 -0700 Subject: [PATCH] Remove snapshot publication script as well as stage from build pipeline Signed-off-by: Sayali Gaikawad --- .../opensearch/distribution-build.jenkinsfile | 46 ------ publish/publish-snapshot.sh | 141 ------------------ 2 files changed, 187 deletions(-) delete mode 100755 publish/publish-snapshot.sh diff --git a/jenkins/opensearch/distribution-build.jenkinsfile b/jenkins/opensearch/distribution-build.jenkinsfile index 8b93ffd66b..7ed2923f2f 100644 --- a/jenkins/opensearch/distribution-build.jenkinsfile +++ b/jenkins/opensearch/distribution-build.jenkinsfile @@ -130,52 +130,6 @@ pipeline { } stage('build') { parallel { - stage('build-distribution-snapshot-linux-x64-tar') { - when { - beforeAgent true - expression{ - params.BUILD_PLATFORM.contains('linux') - } - } - environment { - SNAPSHOT_REPO_URL = "https://aws.oss.sonatype.org/content/repositories/snapshots/" - } - agent { - docker { - label AGENT_X64 - image dockerAgent.image - args dockerAgent.args - alwaysPull true - } - } - steps { - script { - buildManifest( - componentName: "${COMPONENT_NAME}", - inputManifest: "manifests/${INPUT_MANIFEST}", - platform: 'linux', - architecture: 'x64', - distribution: 'tar', - snapshot: true - ) - - String mavenPath = "$WORKSPACE/tar/builds/opensearch/maven" - - if (fileExists(mavenPath)) { - withCredentials([usernamePassword(credentialsId: 'jenkins-sonatype-creds', usernameVariable: 'SONATYPE_USERNAME', passwordVariable: 'SONATYPE_PASSWORD')]) { - sh("$WORKSPACE/publish/publish-snapshot.sh ${mavenPath}") - } - } else { - echo "Skipping publishing snapshots, ${mavenPath} does not exist." - } - } - } - post { - always { - postCleanup() - } - } - } stage('build-opensearch-snapshot-linux-x64-tar') { when { beforeAgent true diff --git a/publish/publish-snapshot.sh b/publish/publish-snapshot.sh deleted file mode 100755 index ebdf959ba4..0000000000 --- a/publish/publish-snapshot.sh +++ /dev/null @@ -1,141 +0,0 @@ -#!/bin/bash - -# Copyright OpenSearch Contributors -###### Information ############################################################################ -# 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. -# -# Name: publish-snapshot.sh -# Language: Shell -# -# About: Deploy opensearch artifacts to a sonatype snapshot repository. -# This script will search POM files under the passed in directory and publish artifacts to -# a snapshot repository using the mvn deploy plugin. -# -# Usage: ./publish-snapshot.sh -# -############################################################################################### -set -e - -[ -z "${1:-}" ] && { - usage -} - -usage() { - echo "usage: $0 [-h] [dir]" - echo " dir parent directory of artifacts to be published to org/opensearch namespace." - echo " example: dir = ~/.m2/repository/org/opensearch where dir contains artifacts of a path:" - echo " /maven/reindex-client/1.0.0-SNAPSHOT/reindex-client-1.0.0-SNAPSHOT.jar" - echo " -h display help" - echo "Required environment variables:" - echo "SONATYPE_USERNAME - username with publish rights to a sonatype repository" - echo "SONATYPE_PASSWORD - password for sonatype" - echo "SNAPSHOT_REPO_URL - repository URL ex. http://localhost:8081/nexus/content/repositories/snapshots/" - exit 1 -} - -while getopts ":h" option; do - case $option in - h) - usage - ;; - \?) - echo "Invalid option -$OPTARG" >&2 - usage - ;; - esac -done - -[ -z "${SONATYPE_USERNAME}" ] && { - echo "SONATYPE_USERNAME is required" - exit 1 -} - -[ -z "${SONATYPE_PASSWORD}" ] && { - echo "SONATYPE_PASSWORD is required" - exit 1 -} - -[ -z "${SNAPSHOT_REPO_URL}" ] && { - echo "REPO_URL is required" - exit 1 -} - -if [ ! -d "$1" ]; then - echo "Invalid directory $1 does not exist" - usage -fi - -create_maven_settings() { - # Create a settings.xml file with the user+password for maven - mvn_settings="${workdir}/mvn-settings.xml" - cat >${mvn_settings} <<-EOF - - - - - nexus - ${SONATYPE_USERNAME} - ${SONATYPE_PASSWORD} - - - -EOF -} - -url="${SNAPSHOT_REPO_URL}" -workdir=$(mktemp -d) - -function cleanup() { - rm -rf "${workdir}" -} - -trap cleanup TERM INT EXIT - -create_maven_settings - -cd "$1" - -echo "searching for poms under $PWD" - -pomFiles="$(find "." -name '*.pom')" -if [ -z "${pomFiles}" ]; then - echo "No artifacts found under $PWD" - exit 1 -fi - -for pom in ${pomFiles}; do - pom_dir="$(dirname "${pom}")" - for FILE in "${pom_dir}"/*; do - # The POM is deployed with the artifact in a single deploy-file command, we can skip over it - if [[ $FILE != $pom ]] && - [[ $FILE != *"test-fixtures"* ]] && # This is a hack to ensure the OpenSearch build-tools test fixture jar is not uploaded instead of the actual build-tools jar. - [[ $FILE != *"javadoc"* ]] && - [[ $FILE != *"sources"* ]]; then - extension="${FILE##*.}" - case $extension in jar | war | zip) - echo "Uploading: ${FILE} with ${pom} to ${url}" - mvn --settings="${mvn_settings}" deploy:deploy-file \ - -DgeneratePom=false \ - -DrepositoryId=nexus \ - -Durl="${SNAPSHOT_REPO_URL}" \ - -DpomFile="${pom}" \ - -Dfile="${FILE}" || echo "Failed to upload ${FILE}" - ;; - *) echo "Skipping upload for ${FILE}" ;; - esac - fi - done - - echo "Finished uploading ${pom_dir}" -done - -echo "===========================================" -echo "Done." -echo "==========================================="