depends_on: - test - web variables: - &golang_image 'golang:1.18.7' - &node_image 'node:18-alpine' - &when_path # related config files - ".woodpecker/binaries.yml" - "nfpm/*.yml" # go source code - "**/*.go" - "go.*" # web source code - "web/**" pipeline: build-web: group: prepare image: *node_image directory: web/ commands: - corepack enable - pnpm install --frozen-lockfile - pnpm build when: path: *when_path vendor: group: prepare image: *golang_image commands: - go mod vendor when: path: *when_path build-server: group: build image: *golang_image commands: - make release-server when: path: *when_path build-agent: group: build image: *golang_image commands: - make release-agent when: path: *when_path build-cli: group: build image: *golang_image commands: - make release-cli when: path: *when_path build-deb-rpm: group: bundle image: *golang_image commands: - make bundle when: path: *when_path build-tarball: group: bundle image: *golang_image commands: - make release-tarball when: path: *when_path checksums: image: *golang_image commands: - make release-checksums when: path: *when_path # TODO: upload build artifacts for pushes to ${CI_REPO_DEFAULT_BRANCH} release-dryrun: image: *golang_image commands: - ls -la dist/*.* - cat dist/checksums.txt when: path: *when_path 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} when: event: tag