version: 1 depends_on: - test - web # TODO: upload build artifacts for pushes to ${CI_REPO_DEFAULT_BRANCH} when: event: tag variables: - &golang_image 'docker.io/golang:1.21.4' - &node_image 'docker.io/node:21-alpine' - &xgo_image 'docker.io/techknowlogick/xgo:go-1.21.4' - &xgo_version 'go-1.21.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: docker.io/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}