daml/ci/daily-snapshot.yml
2024-04-02 16:19:56 +02:00

78 lines
2.1 KiB
YAML

# Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
pr: none
trigger: none
parameters:
- name: version
type: string
default: snapshot
- name: commit
type: string
default: HEAD
jobs:
- job: check_for_release
pool:
name: "ubuntu_20_04"
demands: assignment -equals default
steps:
- template: bash-lib.yml
parameters:
var_name: bash-lib
- bash: |
set -euo pipefail
cd sdk
eval "$(./dev-env/bin/dade-assist)"
source $(bash-lib)
prefix=$(git show ${{ parameters.commit }}:sdk/NIGHTLY_PREFIX)
if [ "${{ parameters.version }}" = "snapshot" ]; then
release=$(./release.sh snapshot ${{ parameters.commit }} $prefix | awk '{print $2}')
else
release=${{ parameters.version }}
fi
ERR=$(mktemp)
OUT=$(curl https://digitalasset.jfrog.io/artifactory/api/storage/assembly/daml/$release \
-u $AUTH \
-I \
2>$ERR)
STATUS=$(echo "$OUT" | head -1 | sed 's:HTTP/1.1 \([^ ]\+\).*:\1:')
case "$STATUS" in
200)
echo "Version $release already exists on Artifactory, aborting."
setvar is_release false
;;
404)
setvar is_release true
setvar trigger_sha $(git rev-parse HEAD)
setvar release_sha $(git rev-parse ${{ parameters.commit }})
setvar release_tag $release
setvar split_release_process true
;;
*)
echo "Unexpected status code: $STATUS"
echo "curl stdout:"
echo "--"
echo "$OUT"
echo "--"
echo "curl stderr:"
echo "--"
echo "$ERR"
echo "--"
exit 1
;;
esac
setvar scala_2_13 true
name: out
env:
AUTH: $(ARTIFACTORY_USERNAME):$(ARTIFACTORY_PASSWORD)
- template: build.yml
parameters:
test_mode: main
- template: split-release-job.yml
- job: release
condition: false