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:
qwerty287 2024-06-15 20:14:45 +00:00 committed by Martijn van der Kleijn
parent 0f7828d232
commit a61bd5aa85
8 changed files with 74 additions and 130 deletions

View file

@ -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

View file

@ -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'

View file

@ -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

View 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
View 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