mirror of
https://codeberg.org/Codeberg/pages-server.git
synced 2024-12-02 18:45:29 +00:00
2f8bd38f59
Reviewed-on: https://codeberg.org/Codeberg/pages-server/pulls/390 Co-authored-by: crapStone <me@crapstone.dev> Co-committed-by: crapStone <me@crapstone.dev>
123 lines
2.9 KiB
YAML
123 lines
2.9 KiB
YAML
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:4.2.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:4.2.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:4.2.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:4.2.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]
|