matrix: include: - GO_IMAGE: golang:1.26.8-bookworm when: - event: tag ref: refs/tags/v* steps: - name: deliver image: ${GO_IMAGE} environment: RELEASEKIT_GITEA_TOKEN: from_secret: releasekit_gitea_token commands: - | set -eu test -n "$${CI_COMMIT_TAG}" test -n "$${CI_COMMIT_SHA}" git check-ref-format "refs/tags/$${CI_COMMIT_TAG}" git fetch origin "refs/tags/$${CI_COMMIT_TAG}:refs/tags/$${CI_COMMIT_TAG}" tag_commit=$(git rev-parse "refs/tags/$${CI_COMMIT_TAG}^{commit}") expected_commit=$(printf '%s' "$${CI_COMMIT_SHA}" | tr '[:upper:]' '[:lower:]') test "$(printf '%s' "$${tag_commit}" | tr '[:upper:]' '[:lower:]')" = "$${expected_commit}" git checkout --detach "$${tag_commit}" test "$(git rev-parse HEAD | tr '[:upper:]' '[:lower:]')" = "$${expected_commit}" test -z "$(git status --porcelain --untracked-files=all)" bootstrap_dir=$(mktemp -d "$${CI_WORKSPACE%/*}/.releasekit-bootstrap.XXXXXX") trap 'rm -rf "$${bootstrap_dir}"' EXIT cp go.mod "$${bootstrap_dir}/go.mod" if [ -f go.sum ]; then cp go.sum "$${bootstrap_dir}/go.sum" else : > "$${bootstrap_dir}/go.sum" fi cp "$${bootstrap_dir}/go.mod" "$${bootstrap_dir}/releasekit.mod" cp "$${bootstrap_dir}/go.sum" "$${bootstrap_dir}/releasekit.sum" export GOWORK=off export GOTOOLCHAIN=local releasekit_module=gitea.maximumdirect.net/eric/ReleaseKit go list -mod=mod -modfile="$${bootstrap_dir}/releasekit.mod" -m "$${releasekit_module}" go build -mod=mod -modfile="$${bootstrap_dir}/releasekit.mod" \ -o "$${bootstrap_dir}/releasekit" "$${releasekit_module}/cmd/releasekit" "$${bootstrap_dir}/releasekit" ci-deliver \ --repo "$${CI_WORKSPACE}" \ --prepared \ --commit "$${CI_COMMIT_SHA}" \ "$${CI_COMMIT_TAG}"