51 lines
1.3 KiB
Bash
Executable File
51 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# vim: set expandtab shiftwidth=4 softtabstop=4 tabstop=4 :
|
|
set -euo pipefail
|
|
|
|
if [ -z "${CI_COMMIT_TAG:-}" ]; then
|
|
echo "No commit tag set"
|
|
exit 1
|
|
fi
|
|
|
|
DIR=$(realpath $(dirname "${BASH_SOURCE[0]}") )
|
|
|
|
echo ${DIR}
|
|
|
|
${DIR}/install_tea.sh linux-amd64 https://gitea.com/api/v1/repos/gitea/tea/releases/latest
|
|
|
|
## Log in to Gitea
|
|
|
|
TEA=$(pwd)/tea
|
|
|
|
if [ -z "${GITEA_SERVER_URL:-}" ]; then
|
|
|
|
if [ -z "${CI_FORGE_URL:-}" ]; then
|
|
echo "Cannot log in to gitea: GITEA_SERVER_URL or CI_FORGE_URL missing"
|
|
exit 1
|
|
fi
|
|
|
|
GITEA_SERVER_URL=${CI_FORGE_URL}
|
|
fi
|
|
|
|
if [ -z "${GITEA_SERVER_TOKEN:-}" ]; then
|
|
echo "Cannot log in to gitea: GITEA_SERVER_TOKEN missing"
|
|
exit 1
|
|
fi
|
|
|
|
if ! ${TEA} login ls | grep ${GITEA_SERVER_URL} 2>&1 > /dev/null || false; then
|
|
${TEA} login add
|
|
else
|
|
echo "Already logged in to ${GITEA_SERVER_URL}"
|
|
fi
|
|
|
|
## Check and create tag
|
|
|
|
if ${TEA} release ls -o json | jq -e --arg tag "${CI_COMMIT_TAG}" 'map(.["tag-_name"]) | index($tag) != null' >/dev/null; then
|
|
echo "Release ${CI_COMMIT_TAG} exists"
|
|
else
|
|
echo "Creating release ${CI_COMMIT_TAG}"
|
|
${TEA} release create -o json --tag "${CI_COMMIT_TAG}" --title "${CI_COMMIT_TAG}" --draft
|
|
fi
|
|
|
|
find $(dirname ${DIR})/artifacts -type f -exec ${TEA} releases assets create -o json ${CI_COMMIT_TAG} {} +
|