Add woodpecker ci pipeline files

Signed-off-by: Martijn van der Kleijn <martijn.niji@gmail.com>
This commit is contained in:
Martijn van der Kleijn 2024-06-07 23:18:35 +02:00
parent d2f7239d02
commit b2a29682b9
3 changed files with 92 additions and 0 deletions

15
.woodpecker/.build.yml Normal file
View file

@ -0,0 +1,15 @@
variables:
- &golang_image 'golang:1.22'
when:
- branch: main
event: push
steps:
- name: build
image: *golang_image
commands:
- make build
depends_on:
- lint

View file

@ -0,0 +1,47 @@
variables:
- &golang_image 'golang:1.22'
when:
- branch: main
event: push
steps:
- name: setup
image: *golang_image
environment:
GOPROXY: "https://goproxy.io"
GO111MODULE: "on"
HTTP_PROXY: ""
FORGEJO_SDK_TEST_URL: "http://forgejo:3000"
FORGEJO_SDK_TEST_USERNAME: "test01"
FORGEJO_SDK_TEST_PASSWORD: "test01"
commands:
- git checkout ${CI_COMMIT_SHA}
- go version
- make clean
- name: verify_connection
image: *golang_image
commands:
- curl --noproxy "*" http://forgejo:3000/api/v1/version
- name: test
image: *golang_image
environment:
GOPROXY: "https://goproxy.io"
GO111MODULE: "on"
HTTP_PROXY: ""
FORGEJO_SDK_TEST_URL: "http://forgejo:3000"
FORGEJO_SDK_TEST_USERNAME: "test01"
FORGEJO_SDK_TEST_PASSWORD: "test01"
commands:
- make test
depends_on:
- build
services:
- name: forgejo
image: codeberg.org/forgejo/forgejo:1.21.5-0
commands:
- bash -c 'mkdir -p /tmp/conf/ && mkdir -p /tmp/data/ && echo "I_AM_BEING_UNSAFE_RUNNING_AS_ROOT = true" > /tmp/conf/app.ini && echo "[security]" >> /tmp/conf/app.ini && echo "INTERNAL_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE1NTg4MzY4ODB9.LoKQyK5TN_0kMJFVHWUW0uDAyoGjDP6Mkup4ps2VJN4" >> /tmp/conf/app.ini && echo "INSTALL_LOCK = true" >> /tmp/conf/app.ini && echo "SECRET_KEY = 2crAW4UANgvLipDS6U5obRcFosjSJHQANll6MNfX7P0G3se3fKcCwwK3szPyGcbo" >> /tmp/conf/app.ini && echo "PASSWORD_COMPLEXITY = off" >> /tmp/conf/app.ini && echo "[database]" >> /tmp/conf/app.ini && echo "DB_TYPE = sqlite3" >> /tmp/conf/app.ini && echo "[repository]" >> /tmp/conf/app.ini && echo "ROOT = /tmp/data/" >> /tmp/conf/app.ini && echo "[server]" >> /tmp/conf/app.ini && echo "ROOT_URL = http://forgejo:3000" >> /tmp/conf/app.ini && forgejo migrate -c /tmp/conf/app.ini && forgejo admin user create --username=test01 --password=test01 --email=test01@forgejo.org --admin=true --must-change-password=false --access-token -c /tmp/conf/app.ini && forgejo web -c /tmp/conf/app.ini'

30
.woodpecker/.lint.yml Normal file
View file

@ -0,0 +1,30 @@
variables:
- &golang_image 'golang:1.22'
when:
- event: [push, pull_request, manual]
steps:
- name: setup
image: *golang_image
environment:
GOPROXY: "https://goproxy.io"
GO111MODULE: "on"
HTTP_PROXY: ""
FORGEJO_SDK_TEST_URL: "http://forgejo:3000"
FORGEJO_SDK_TEST_USERNAME: "test01"
FORGEJO_SDK_TEST_PASSWORD: "test01"
commands:
- git checkout ${CI_COMMIT_SHA}
- go version
- make clean
- name: vet
image: *golang_image
commands:
- make vet
- name: lint
image: *golang_image
commands:
- make ci-lint