2026-10-05 20:56:57 +00:00
|
|
|
when:
|
|
|
|
|
- event: tag
|
|
|
|
|
ref: refs/tags/v*
|
|
|
|
|
|
|
|
|
|
steps:
|
2026-10-07 23:41:25 +00:00
|
|
|
- name: deliver
|
2026-10-08 16:29:48 +00:00
|
|
|
image: golang:1.26.8-bookworm
|
2026-10-07 23:41:25 +00:00
|
|
|
environment:
|
|
|
|
|
RELEASEKIT_GITEA_TOKEN:
|
|
|
|
|
from_secret: releasekit_gitea_token
|
2026-10-05 20:56:57 +00:00
|
|
|
commands:
|
|
|
|
|
- |
|
2026-10-07 23:41:25 +00:00
|
|
|
set -eu
|
2026-10-05 20:56:57 +00:00
|
|
|
test -n "$${CI_COMMIT_TAG}"
|
|
|
|
|
test -n "$${CI_COMMIT_SHA}"
|
2026-10-07 23:41:25 +00:00
|
|
|
git check-ref-format "refs/tags/$${CI_COMMIT_TAG}"
|
2026-10-05 20:56:57 +00:00
|
|
|
git fetch origin "refs/tags/$${CI_COMMIT_TAG}:refs/tags/$${CI_COMMIT_TAG}"
|
2026-10-07 23:41:25 +00:00
|
|
|
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)"
|
2026-10-05 20:56:57 +00:00
|
|
|
|
2026-10-07 23:41:25 +00:00
|
|
|
bootstrap_dir=$(mktemp -d "$${CI_WORKSPACE%/*}/.releasekit-source.XXXXXX")
|
|
|
|
|
trap 'rm -rf "$${bootstrap_dir}"' EXIT
|
|
|
|
|
export GOWORK=off
|
|
|
|
|
export GOTOOLCHAIN=local
|
|
|
|
|
go build -mod=readonly -o "$${bootstrap_dir}/releasekit" ./cmd/releasekit
|
|
|
|
|
"$${bootstrap_dir}/releasekit" ci-deliver \
|
2026-10-06 19:49:19 +00:00
|
|
|
--repo "$${CI_WORKSPACE}" \
|
2026-10-10 03:41:36 +00:00
|
|
|
--prepared \
|
2026-10-06 19:49:19 +00:00
|
|
|
--commit "$${CI_COMMIT_SHA}" \
|
|
|
|
|
"$${CI_COMMIT_TAG}"
|