woodpecker/.woodpecker/binaries.yml

85 lines
1.6 KiB
YAML

depends_on:
- test
- web
# TODO: upload build artifacts for pushes to ${CI_REPO_DEFAULT_BRANCH}
when:
event: tag
variables:
- &golang_image 'golang:1.21.2'
- &node_image 'node:20-alpine'
- &xgo_image 'techknowlogick/xgo:go-1.20.2'
- &xgo_version 'go-1.20.2'
steps:
build-web:
group: prepare
image: *node_image
directory: web/
commands:
- corepack enable
- pnpm install --frozen-lockfile
- pnpm build
vendor:
group: prepare
image: *golang_image
commands:
- go mod vendor
cross-compile-server:
group: build
image: *xgo_image
pull: true
commands:
- apt update
- apt install -y tree
- make cross-compile-server
environment:
PLATFORMS: linux|arm64/v8;linux|amd64;windows|amd64
TAGS: bindata sqlite sqlite_unlock_notify netgo
XGO_VERSION: *xgo_version
TARGZ: '1'
build-agent:
group: build
image: *golang_image
commands:
- make release-agent
build-cli:
group: build
image: *golang_image
commands:
- make release-cli
build-deb-rpm:
group: bundle
image: *golang_image
commands:
- make bundle
checksums:
image: *golang_image
commands:
- make release-checksums
release-dryrun:
image: *golang_image
commands:
- ls -la dist/*.*
- cat dist/checksums.txt
release:
image: plugins/github-release
secrets:
- source: github_token
target: github_release_api_key
settings:
files:
- dist/*.tar.gz
- dist/*.deb
- dist/*.rpm
- dist/checksums.txt
title: ${CI_COMMIT_TAG##v}