| #!/usr/bin/env bash | |
| set -euo pipefail | |
| ARTIFACTS=(@@ARTIFACTS@@) | |
| FILES=(@@FILES@@) | |
| GH=@@GH@@ | |
| REMOTE="@@REMOTE@@" | |
| @@ENV@@ | |
| BRANCH=$(cd "$BUILD_WORKSPACE_DIRECTORY" && git branch --show-current) | |
| RELEASE_TAG=$(cd "$BUILD_WORKSPACE_DIRECTORY" && git describe --abbrev=0 --tags) | |
| if $(${GH} release list | egrep -q "\s${RELEASE_TAG}\s"); then | |
| echo "A release with tag ${RELEASE_TAG} already exists." | |
| echo | |
| echo "To make a new release, create a new tag first." | |
| exit 1 | |
| fi | |
| declare -A DIGEST=() | |
| for f in "${FILES[@]}"; do | |
| b=$(basename ${f}) | |
| DIGEST[${b}]=$(sha256sum ${f} | cut -f1 -d' ') | |
| done | |
| export ARTIFACTS BRANCH FILES GH REMOTE RELEASE_TAG DIGEST | |
| @@SCRIPT@@ | |
| ${GH} release create --target="${BRANCH}" "$@" "${RELEASE_TAG}" "${ARTIFACTS[@]}" |