when: - event: [push, pull_request, tag, cron] branch: ${CI_REPO_DEFAULT_BRANCH} steps: # use vendor to cache dependencies vendor: image: golang:1.23 commands: - go mod vendor build: depends_on: vendor image: codeberg.org/6543/docker-images/golang_just:go-1.22 commands: - go version - just build when: - event: [push, pull_request] docker-dryrun: depends_on: vendor image: woodpeckerci/plugin-docker-buildx:5.0.0 settings: dockerfile: Dockerfile platforms: linux/amd64 dry-run: true tags: latest when: - event: [pull_request] path: Dockerfile build-tag: depends_on: vendor image: codeberg.org/6543/docker-images/golang_just:go-1.22 commands: - go version - just build-tag ${CI_COMMIT_TAG##v} when: - event: [tag] test: depends_on: build image: codeberg.org/6543/docker-images/golang_just:go-1.22 commands: - just test when: - event: [pull_request] integration-tests: depends_on: build image: codeberg.org/6543/docker-images/golang_just:go-1.22 commands: - just integration environment: - ACME_API=https://acme.mock.directory - PAGES_DOMAIN=localhost.mock.directory - RAW_DOMAIN=raw.localhost.mock.directory - PORT=4430 when: - event: [pull_request] release: depends_on: build image: woodpeckerci/plugin-release:0.2.1 settings: base_url: https://codeberg.org file_exists: overwrite files: build/codeberg-pages-server api_key: from_secret: bot_token when: - event: [tag] docker-next: depends_on: vendor image: woodpeckerci/plugin-docker-buildx:5.0.0 settings: registry: codeberg.org dockerfile: Dockerfile platforms: linux/amd64,arm64 repo: codeberg.org/codeberg/pages-server tags: next username: from_secret: bot_user password: from_secret: bot_token when: - event: [push] 'Publish PR image': image: woodpeckerci/plugin-docker-buildx:5.0.0 depends_on: test settings: registry: codeberg.org dockerfile: Dockerfile platforms: linux/amd64 repo: codeberg.org/codeberg/pages-server tags: next username: from_secret: bot_user password: from_secret: bot_token when: evaluate: 'CI_COMMIT_PULL_REQUEST_LABELS contains "build_pr_image"' event: pull_request docker-release: depends_on: vendor image: woodpeckerci/plugin-docker-buildx:5.0.0 settings: registry: codeberg.org dockerfile: Dockerfile platforms: linux/amd64,arm64 repo: codeberg.org/codeberg/pages-server tags: [latest, '${CI_COMMIT_TAG}'] username: from_secret: bot_user password: from_secret: bot_token when: - event: [tag]