when: - event: [pull_request, tag, cron] - event: push branch: - ${CI_REPO_DEFAULT_BRANCH} - renovate/* variables: - &golang "golang:1.22" - &build_plugin "woodpeckerci/plugin-docker-buildx:3.0.1" - base_settings: &base_buildx_settings platforms: "linux/amd64,linux/arm64" dockerfile: Dockerfile.multiarch auto_tag: true repo: woodpeckerci/plugin-docker-buildx,codeberg.org/woodpecker-plugins/docker-buildx - &login_setting # Default DockerHub login - registry: https://index.docker.io/v1/ username: from_secret: docker_username password: from_secret: docker_password # Additional Codeberg login - registry: https://codeberg.org username: from_secret: cb_username password: from_secret: cb_password steps: vendor: image: *golang commands: go mod vendor test: image: *golang depends_on: vendor commands: go test -cover ./... lint-editorconfig: image: docker.io/mstruebing/editorconfig-checker:2.7.2 when: event: pull_request lint-format: image: *golang depends_on: vendor commands: make formatcheck when: event: pull_request publish-dryrun: image: *build_plugin depends_on: test pull: true settings: <<: *base_buildx_settings repo: test dry-run: true when: evaluate: 'not (CI_COMMIT_PULL_REQUEST_LABELS contains "build_pr_images")' event: pull_request branch: - ${CI_REPO_DEFAULT_BRANCH} - renovate/* publish: image: *build_plugin depends_on: test settings: <<: *base_buildx_settings logins: *login_setting when: event: [push, tag, cron] branch: ${CI_REPO_DEFAULT_BRANCH} publish_pr_image: image: *build_plugin depends_on: test settings: <<: *base_buildx_settings tag: pull_${CI_COMMIT_PULL_REQUEST} logins: *login_setting when: evaluate: 'CI_COMMIT_PULL_REQUEST_LABELS contains "build_pr_images"' event: pull_request # TODO: replace by plugin-ready-release-go once it supports gitea gitea-release: image: "woodpeckerci/plugin-gitea-release:0.3.1" depends_on: test settings: base_url: https://codeberg.org title: ${CI_COMMIT_TAG} api_key: from_secret: gitea_token target: main when: event: [tag] branch: ${CI_REPO_DEFAULT_BRANCH}