46 lines
1.8 KiB
YAML
46 lines
1.8 KiB
YAML
matrix:
|
|
include:
|
|
- GO_IMAGE: golang:1.25.0-bookworm
|
|
RELEASEKIT_SOURCE: REPLACE_WITH_IMMUTABLE_COMMIT
|
|
|
|
when:
|
|
- event: tag
|
|
ref: refs/tags/v*
|
|
|
|
steps:
|
|
- name: prepare
|
|
image: ${GO_IMAGE}
|
|
commands:
|
|
- |
|
|
test -n "$${CI_COMMIT_TAG}"
|
|
test -n "$${CI_COMMIT_SHA}"
|
|
git fetch origin "refs/tags/$${CI_COMMIT_TAG}:refs/tags/$${CI_COMMIT_TAG}"
|
|
test "$(git rev-parse "refs/tags/$${CI_COMMIT_TAG}^{commit}")" = "$${CI_COMMIT_SHA}"
|
|
git checkout --detach "$${CI_COMMIT_SHA}"
|
|
test "$(git rev-parse HEAD)" = "$${CI_COMMIT_SHA}"
|
|
printf '\n/.releasekit/\n' >> .git/info/exclude
|
|
mkdir -p "$${CI_WORKSPACE}/.releasekit/bin" "$${CI_WORKSPACE}/.releasekit/gocache" "$${CI_WORKSPACE}/.releasekit/gomodcache"
|
|
export GOCACHE="$${CI_WORKSPACE}/.releasekit/gocache"
|
|
export GOMODCACHE="$${CI_WORKSPACE}/.releasekit/gomodcache"
|
|
go mod download
|
|
GOBIN="$${CI_WORKSPACE}/.releasekit/bin" go install gitea.maximumdirect.net/eric/ReleaseKit/cmd/releasekit@${RELEASEKIT_SOURCE}
|
|
|
|
- name: build
|
|
image: ${GO_IMAGE}
|
|
commands:
|
|
- |
|
|
export GOCACHE="$${CI_WORKSPACE}/.releasekit/gocache"
|
|
export GOMODCACHE="$${CI_WORKSPACE}/.releasekit/gomodcache"
|
|
GOPROXY=off GOTOOLCHAIN=local "$${CI_WORKSPACE}/.releasekit/bin/releasekit" build --repo "$${CI_WORKSPACE}" --output "$${CI_WORKSPACE}/.releasekit/assets" "$${CI_COMMIT_TAG}"
|
|
|
|
- name: deliver
|
|
image: ${GO_IMAGE}
|
|
environment:
|
|
RELEASEKIT_GITEA_TOKEN:
|
|
from_secret: releasekit_gitea_token
|
|
commands:
|
|
- |
|
|
export GOCACHE="$${CI_WORKSPACE}/.releasekit/gocache"
|
|
export GOMODCACHE="$${CI_WORKSPACE}/.releasekit/gomodcache"
|
|
"$${CI_WORKSPACE}/.releasekit/bin/releasekit" deliver --repo "$${CI_WORKSPACE}" --assets "$${CI_WORKSPACE}/.releasekit/assets" "$${CI_COMMIT_TAG}"
|