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.5' - &node_image 'docker.io/node:21-alpine' - &xgo_image 'docker.io/techknowlogick/xgo:go-1.21.5' - &xgo_version 'go-1.21.2' 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 XGO_VERSION: *xgo_version TARGZ: '1' build-agent: depends_on: - vendor image: *golang_image commands: - make release-agent build-cli: depends_on: - vendor image: *golang_image commands: - 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 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: 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}