pages-server/.woodpecker/.woodpecker.yml
2024-04-27 22:26:51 +02:00

104 lines
2.3 KiB
YAML

when:
branch: main
event: ['push', 'pull_request']
steps:
# use vendor to cache dependencies
vendor:
image: golang:1.21
commands:
- go mod vendor
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:1.8.8
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:0.3.1
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:1.8.8
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:1.8.8
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']