build(woodpecker): Add initial CI

This commit is contained in:
Paul Campbell 2024-04-07 16:03:28 +01:00
parent efb55e4b3b
commit 1d03fbfb06
4 changed files with 84 additions and 0 deletions

38
.woodpecker/build.yml Normal file
View file

@ -0,0 +1,38 @@
steps:
update-builder-image:
when:
- event: cron
image: docker.io/woodpeckerci/plugin-docker-buildx:latest
settings:
username: kemitix
repo: git.kemitix.net/kemitix/git-next-builder
auto_tag: true
dockerfile: Dockerfile.builder
dry-run: false # push to remote repo
registry: git.kemitix.net
password:
from_secret: woodpecker-docker-push
build:
image: git.kemitix.net/kemitix/git-next-builder:latest
environment:
CARGO_TERM_COLOR: always
lint:
image: git.kemitix.net/kemitix/git-next-builder:latest
environment:
CARGO_TERM_COLOR: always
commands:
- ls -l /usr/local/cargo/bin/
- cargo fmt --all -- --check
- cargo clippy -- -D warnings -W clippy::nursery -W clippy::unwrap_used -W clippy::expect_used
when:
- event: pull_request
- event: cron
test:
image: git.kemitix.net/kemitix/git-next-builder:latest
environment:
CARGO_TERM_COLOR: always
commands:
- cargo test
when:
- event: pull_request
- event: cron

21
.woodpecker/docker.yml Normal file
View file

@ -0,0 +1,21 @@
# INFO: https://woodpecker-ci.org/plugins/Docker%20Buildx
steps:
docker-build:
image: docker.io/woodpeckerci/plugin-docker-buildx:3.2.1
settings:
username: kemitix
repo: git.kemitix.net/kemitix/git-next
dockerfile: Dockerfile
build_args:
- CARGO_PROFILE=release
- CARGO_TARGET=release
auto_tag: true
dry-run: false # push to remote repo
registry: git.kemitix.net
password:
from_secret: woodpecker-docker-push
when:
- event: push
branch: main
- event: tag
ref: refs/tags/v*

13
.woodpecker/release.yml Normal file
View file

@ -0,0 +1,13 @@
# INFO: https://woodpecker-ci.org/plugins/Gitea%20Release
steps:
publish:
image: docker.io/woodpeckerci/plugin-gitea-release:0.3.1@sha256:ec26c974254a7524310ffcdb0e46f9141988b4e239cbb812a341b781f10e7cbd
settings:
base_url: https://git.kemitix.net
api_key:
from_secret: FORGEJO_RELEASE_PLUGIN
target: main
prerelease: true
when:
- event: tag
ref: refs/tags/v*

View file

@ -0,0 +1,12 @@
# INFO: https://woodpecker-ci.org/plugins/TODO-Checker
steps:
todo_check:
image: codeberg.org/epsilon_02/todo-checker:1.1.1@sha256:58ebb185706a56147b588be612aa16579c007fa6213a5b46ae01b4e0341dd946
settings:
# git-next-woodpecker-todo-checker - read:issue
repository_token: '776a3b928b852472c2af727a360c85c00af64b9f'
prefix_regex: "(#|//) (TODO|FIXME): "
debug: false
when:
- event: pull_request
- event: cron