summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorJessica Wagantall <jwagantall@linuxfoundation.org>2021-08-02 20:19:36 -0700
committerJessica Wagantall <jwagantall@linuxfoundation.org>2021-08-02 20:19:36 -0700
commit48a6b4c662468e7af741f2e706bee8649e0bf844 (patch)
tree558b4014e2474e914bc761c51217b8d63a2a3079 /shell
parent3c54b2ea1d93f542e7c38b748d803992cfb80205 (diff)
fix: Use HELM specific netrc builder
We need a local create-netrc builder that allows us to create an entry for the helm repo which is hosted in Nexus3. Issue-ID: CIMAN-33 Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org> Change-Id: Ic14ea2dc7910d6422872c3c0af94c01b77d7dc20
Diffstat (limited to 'shell')
-rw-r--r--shell/oom-create-netrc.sh50
1 files changed, 50 insertions, 0 deletions
diff --git a/shell/oom-create-netrc.sh b/shell/oom-create-netrc.sh
new file mode 100644
index 000000000..4b076a67b
--- /dev/null
+++ b/shell/oom-create-netrc.sh
@@ -0,0 +1,50 @@
+#!/bin/bash
+# SPDX-License-Identifier: EPL-1.0
+##############################################################################
+# Copyright (c) 2017 The Linux Foundation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+##############################################################################
+echo "---> oom-create-netrc.sh"
+
+if [ -z "$ALT_DOCKER_URL" ]; then
+ DOCKER_URL="${DOCKER_REGISTRY:-$DOCKER_URL}"
+else
+ DOCKER_URL="${ALT_DOCKER_URL}"
+fi
+CREDENTIAL=$(xmlstarlet sel -N "x=http://maven.apache.org/SETTINGS/1.0.0" \
+ -t -m "/x:settings/x:servers/x:server[x:id='${SERVER_ID}']" \
+ -v x:username -o ":" -v x:password \
+ "$SETTINGS_FILE")
+
+# Ensure we fail the job if any steps fail.
+set -eu -o pipefail
+
+# Handle when a project chooses to not archive logs to a log server
+# in other cases if CREDENTIAL is not found then fail the build.
+if [ -z "$CREDENTIAL" ] && [ "$SERVER_ID" == "logs" ]; then
+ echo "WARN: Log server credential not found."
+ exit 0
+elif [ -z "$CREDENTIAL" ] && [ "$SERVER_ID" == "ossrh" ]; then
+ echo "WARN: OSSRH credentials not found."
+ echo " This is needed for staging to Maven Central."
+ exit 0
+elif [ -z "$CREDENTIAL" ]; then
+ echo "ERROR: Credential not found."
+ exit 1
+fi
+
+if [ "$SERVER_ID" == "ossrh" ]; then
+ machine="oss.sonatype.org"
+else
+ machine=$(echo "$DOCKER_URL" | awk -F/ '{print $3}')
+fi
+
+user=$(echo "$CREDENTIAL" | cut -f1 -d:)
+pass=$(echo "$CREDENTIAL" | cut -f2 -d:)
+
+set +x # Disable `set -x` to prevent printing passwords
+echo "machine ${machine%:*} login $user password $pass" >> ~/.netrc