Add Woodpecker tagged-release workflows
This commit is contained in:
45
examples/woodpecker/tag-delivery-binary.yml
Normal file
45
examples/woodpecker/tag-delivery-binary.yml
Normal file
@@ -0,0 +1,45 @@
|
||||
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}"
|
||||
36
examples/woodpecker/tag-delivery-source-only.yml
Normal file
36
examples/woodpecker/tag-delivery-source-only.yml
Normal file
@@ -0,0 +1,36 @@
|
||||
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"
|
||||
GOBIN="$${CI_WORKSPACE}/.releasekit/bin" go install gitea.maximumdirect.net/eric/ReleaseKit/cmd/releasekit@${RELEASEKIT_SOURCE}
|
||||
|
||||
- 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}" "$${CI_COMMIT_TAG}"
|
||||
Reference in New Issue
Block a user