Files
ReleaseKit/examples/woodpecker/tag-delivery-binary.yml

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}"