when: branch: main event: ["push", "pull_request"] steps: # use vendor to cache dependencies vendor: image: golang:1.21 commands: - go mod vendor lint: image: golangci/golangci-lint:latest depends_on: vendor pull: true commands: - go version - go install mvdan.cc/gofumpt@latest - "[ $(gofumpt -extra -l . | wc -l) != 0 ] && { echo 'code not formated'; exit 1; }" - golangci-lint run --timeout 5m --build-tags integration editor-config: depends_on: [] image: mstruebing/editorconfig-checker build: depends_on: vendor image: codeberg.org/6543/docker-images/golang_just commands: - go version - just build when: event: ["pull_request", "push"] docker-dryrun: depends_on: vendor image: plugins/kaniko settings: dockerfile: Dockerfile no_push: true tags: latest when: event: ["pull_request", "push"] path: Dockerfile build-tag: depends_on: vendor image: codeberg.org/6543/docker-images/golang_just 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 commands: - just test integration-tests: depends_on: build image: codeberg.org/6543/docker-images/golang_just commands: - just integration environment: - ACME_API=https://acme.mock.directory - PAGES_DOMAIN=localhost.mock.directory - RAW_DOMAIN=raw.localhost.mock.directory - PORT=4430 release: depends_on: build image: plugins/gitea-release settings: base_url: https://codeberg.org file_exists: overwrite files: build/codeberg-pages-server api_key: from_secret: bot_token environment: - CI_REPO_OWNER=${CI_REPO_OWNER} - CI_REPO_NAME=${CI_REPO_NAME} - CI_BUILD_EVENT=${CI_BUILD_EVENT} - CI_COMMIT_REF=${CI_COMMIT_REF} when: event: ["tag"] docker-next: depends_on: vendor image: plugins/kaniko settings: registry: codeberg.org dockerfile: Dockerfile repo: codeberg.org/codeberg/pages-server tags: next username: from_secret: bot_user password: from_secret: bot_token when: event: ["push"] branch: ${CI_REPO_DEFAULT_BRANCH} docker-tag: depends_on: vendor image: plugins/kaniko settings: registry: codeberg.org dockerfile: Dockerfile repo: codeberg.org/codeberg/pages-server tags: [latest, "${CI_COMMIT_TAG}"] username: from_secret: bot_user password: from_secret: bot_token when: event: ["tag"]