woodpecker/.woodpecker/binaries.yaml

113 lines
2.1 KiB
YAML

when:
- event: tag
- event: pull_request
branch: ${CI_REPO_DEFAULT_BRANCH}
path: Makefile
variables:
- &golang_image 'docker.io/golang:1.23'
- &node_image 'docker.io/node:22-alpine'
- &xgo_image 'docker.io/techknowlogick/xgo:go-1.22.x'
# cspell:words bindata netgo
steps:
build-web:
image: *node_image
directory: web/
commands:
- corepack enable
- pnpm install --frozen-lockfile
- pnpm build
vendor:
image: *golang_image
commands:
- go mod vendor
cross-compile-server:
depends_on:
- vendor
- build-web
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
ARCHIVE_IT: '1'
build-tarball:
depends_on:
- vendor
- build-web
image: *golang_image
commands:
- make build-tarball
build-agent:
depends_on:
- vendor
image: *golang_image
commands:
- apt update
- apt install -y zip
- make release-agent
build-cli:
depends_on:
- vendor
image: *golang_image
commands:
- apt update
- apt install -y zip
- make release-cli
build-deb-rpm:
depends_on:
- cross-compile-server
- build-agent
- build-cli
image: *golang_image
commands:
- make bundle
checksums:
depends_on:
- cross-compile-server
- build-agent
- build-cli
- build-deb-rpm
- build-tarball
image: *golang_image
commands:
- make release-checksums
release-dryrun:
depends_on:
- checksums
image: *golang_image
commands:
- ls -la dist/*.*
- cat dist/checksums.txt
release:
depends_on:
- checksums
image: woodpeckerci/plugin-release:0.1.0
settings:
api_key:
from_secret: github_token
files:
- dist/*.tar.gz
- dist/*.zip
- dist/*.deb
- dist/*.rpm
- dist/checksums.txt
title: ${CI_COMMIT_TAG##v}
when:
event: tag