#!/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} {} +