daml/ci/publish-artifactory.sh

77 lines
2.3 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# Copyright (c) 2023 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
set -euo pipefail
STAGING_DIR=$1
RELEASE_TAG=$2
# Weve already published to GH so focus on artifactory
INPUTS=$STAGING_DIR/release-artifacts/artifactory
push() {
local file repository md5 sha1
repository=$1
file=$2
md5=$(md5sum ${file} | awk '{print $1}')
sha1=$(sha1sum ${file} | awk '{print $1}')
curl -f \
-u "$AUTH" \
-H "X-Checksum-MD5:${md5}" \
-H "X-Checksum-SHA1:${sha1}" \
-X PUT \
-T ${file} \
https://digitalasset.jfrog.io/artifactory/${repository}/$RELEASE_TAG/${file}
}
TRIGGER_RUNNER=daml-trigger-runner-$RELEASE_TAG.jar
TRIGGER_SERVICE=trigger-service-$RELEASE_TAG-ee.jar
SCRIPT_RUNNER=daml-script-$RELEASE_TAG.jar
NON_REPUDIATION=non-repudiation-$RELEASE_TAG-ee.jar
HTTP_JSON=http-json-$RELEASE_TAG-ee.jar
cd $INPUTS
push daml-trigger-runner $TRIGGER_RUNNER
push daml-trigger-runner $TRIGGER_RUNNER.asc
push daml-script-runner $SCRIPT_RUNNER
push daml-script-runner $SCRIPT_RUNNER.asc
push non-repudiation $NON_REPUDIATION
push non-repudiation $NON_REPUDIATION.asc
push trigger-service $TRIGGER_SERVICE
push trigger-service $TRIGGER_SERVICE.asc
push http-json $HTTP_JSON
push http-json $HTTP_JSON.asc
for base in non-repudiation-core non-repudiation-client; do
for end in .jar .pom -sources.jar -javadoc.jar; do
for sign in "" .asc; do
push connect-ee-mvn/com/daml/$base $base-${RELEASE_TAG}${end}${sign}
done
done
done
# For the split release process these are not published to artifactory.
if [[ "$#" -lt 3 || $3 != "split" ]]; then
for platform in linux macos windows; do
EE_TARBALL=daml-sdk-$RELEASE_TAG-$platform-ee.tar.gz
push sdk-ee $EE_TARBALL
push sdk-ee $EE_TARBALL.asc
done
EE_INSTALLER=daml-sdk-$RELEASE_TAG-windows-ee.exe
push sdk-ee $EE_INSTALLER
push sdk-ee $EE_INSTALLER.asc
else
# For the split release process, we publish intermediate artifacts to the
# assembly repo, under the daml folder.
cd $STAGING_DIR/split-release
for d in split-release github; do
(
cd $d
for file in $(find . -type f); do
push assembly/daml $file
done
)
done
fi