Improve testing workflows (#7)
- make files non hidden - remove forgejo actions files - simplfy commands - remove useless `setup` step (checkout is done by CI, and clean up is not necessary before the build) Reviewed-on: https://codeberg.org/mvdkleijn/forgejo-sdk/pulls/7 Co-authored-by: qwerty287 <qwerty287@noreply.codeberg.org> Co-committed-by: qwerty287 <qwerty287@noreply.codeberg.org>
This commit is contained in:
parent
0f7828d232
commit
a61bd5aa85
8 changed files with 74 additions and 130 deletions
|
@ -1,52 +0,0 @@
|
||||||
name: testing
|
|
||||||
|
|
||||||
on:
|
|
||||||
- pull_request
|
|
||||||
- push
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
testing:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
env:
|
|
||||||
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"
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: actions/setup-go@v3
|
|
||||||
with:
|
|
||||||
go-version: ">=1.20"
|
|
||||||
check-latest: true
|
|
||||||
- run: make clean
|
|
||||||
- run: make vet
|
|
||||||
- run: make ci-lint
|
|
||||||
- run: make build
|
|
||||||
- run: curl --noproxy "*" http://forgejo:3000/api/v1/version # verify connection to instance
|
|
||||||
- run: make test
|
|
||||||
services:
|
|
||||||
forgejo:
|
|
||||||
image: codeberg.org/forgejo/forgejo:1.21.5-0
|
|
||||||
cmd:
|
|
||||||
- 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
|
|
|
@ -1,48 +0,0 @@
|
||||||
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:
|
|
||||||
- sleep 20
|
|
||||||
- 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'
|
|
|
@ -1,30 +0,0 @@
|
||||||
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
|
|
50
.woodpecker/integration.yml
Normal file
50
.woodpecker/integration.yml
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
variables:
|
||||||
|
- &golang_image 'golang:1.22'
|
||||||
|
|
||||||
|
when:
|
||||||
|
- branch: main
|
||||||
|
event: push
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: verify_connection
|
||||||
|
image: *golang_image
|
||||||
|
commands:
|
||||||
|
- sleep 20
|
||||||
|
- 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:
|
||||||
|
- 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
|
24
.woodpecker/lint.yml
Normal file
24
.woodpecker/lint.yml
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
variables:
|
||||||
|
- &golang_image 'golang:1.22'
|
||||||
|
|
||||||
|
when:
|
||||||
|
- event: [push, pull_request, manual]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: vendor
|
||||||
|
image: *golang_image
|
||||||
|
directory: forgejo
|
||||||
|
commands:
|
||||||
|
- go mod vendor
|
||||||
|
|
||||||
|
- name: vet
|
||||||
|
image: *golang_image
|
||||||
|
depends_on: [vendor]
|
||||||
|
commands:
|
||||||
|
- make vet
|
||||||
|
|
||||||
|
- name: lint
|
||||||
|
image: *golang_image
|
||||||
|
depends_on: [vendor]
|
||||||
|
commands:
|
||||||
|
- make ci-lint
|
Loading…
Reference in a new issue