forked from NYANDEV/forgejo
d887235e08
Add the FORGEJO__ prefix as equivalent to GITEA__ when interpreted by environment-to-ini. It is used when running the Forgejo container like so: docker run --name forgejo -e FORGEJO__security__INSTALL_LOCK=true \ -d codeberg.org/forgejo/forgejo:1.18 Signed-off-by: Earl Warren <contact@earl-warren.org> (cherry picked from commit 6cd61e2ab701ae9236ff9a68520ee1e2d03e6193) (cherry picked from commit 62cae8cc6a6ddc9e5bb066c81834b75cef3be29f) (cherry picked from commit aee1afc5097531b2740b2aa8ef4aef745e7a1be0) (cherry picked from commit 6ba563cd9b09d012a804f3f438c5ae4e38ca6ced)
149 lines
3.6 KiB
YAML
149 lines
3.6 KiB
YAML
platform: linux/amd64
|
|
|
|
when:
|
|
event: [ push, pull_request, manual ]
|
|
branch:
|
|
exclude: [ soft-fork/*/*, soft-fork/*/*/* ]
|
|
|
|
depends_on:
|
|
- compliance
|
|
|
|
variables:
|
|
- &golang_image 'golang:1.20'
|
|
- &test_image 'codeberg.org/forgejo/test_env:main'
|
|
- &mysql_image 'mysql:8'
|
|
- &pgsql_image 'postgres:10'
|
|
- &goproxy_override ''
|
|
- &goproxy_setup |-
|
|
if [ -n "$${GOPROXY_OVERRIDE:-}" ]; then
|
|
export GOPROXY="$${GOPROXY_OVERRIDE}";
|
|
echo "Using goproxy from goproxy_override \"$${GOPROXY}\"";
|
|
elif [ -n "$${GOPROXY_DEFAULT:-}" ]; then
|
|
export GOPROXY="$${GOPROXY_DEFAULT}";
|
|
echo "Using goproxy from goproxy_default (secret) not displaying";
|
|
else
|
|
export GOPROXY="https://proxy.golang.org,direct";
|
|
echo "No goproxy overrides or defaults given, using \"$${GOPROXY}\"";
|
|
fi
|
|
|
|
services:
|
|
mysql8:
|
|
image: *mysql_image
|
|
pull: true
|
|
environment:
|
|
MYSQL_ALLOW_EMPTY_PASSWORD: yes
|
|
MYSQL_DATABASE: testgitea
|
|
|
|
pgsql:
|
|
image: *pgsql_image
|
|
pull: true
|
|
environment:
|
|
POSTGRES_DB: test
|
|
POSTGRES_PASSWORD: postgres
|
|
|
|
workspace:
|
|
base: /go
|
|
path: src/codeberg/gitea
|
|
|
|
pipeline:
|
|
git-safe:
|
|
image: *golang_image
|
|
pull: true
|
|
commands:
|
|
- git config --add safe.directory '*'
|
|
|
|
deps-backend:
|
|
image: *golang_image
|
|
pull: true
|
|
environment:
|
|
GOPROXY_OVERRIDE: *goproxy_override
|
|
secrets:
|
|
- goproxy_default
|
|
commands:
|
|
- *goproxy_setup
|
|
- make deps-backend
|
|
|
|
tag-pre-condition:
|
|
image: *golang_image
|
|
pull: true
|
|
commands:
|
|
- git update-ref refs/heads/tag_test ${CI_COMMIT_SHA}
|
|
|
|
prepare-test-env:
|
|
image: *test_image
|
|
pull: true
|
|
commands:
|
|
- ./build/test-env-prepare.sh
|
|
|
|
environment-to-ini:
|
|
image: *golang_image
|
|
environment:
|
|
GOPROXY_OVERRIDE: *goproxy_override
|
|
commands:
|
|
- *goproxy_setup
|
|
- go test contrib/environment-to-ini/environment-to-ini.go contrib/environment-to-ini/environment-to-ini_test.go
|
|
|
|
build:
|
|
image: *test_image
|
|
environment:
|
|
GOSUMDB: sum.golang.org
|
|
TAGS: bindata sqlite sqlite_unlock_notify
|
|
GOPROXY_OVERRIDE: *goproxy_override
|
|
secrets:
|
|
- goproxy_default
|
|
commands:
|
|
- *goproxy_setup
|
|
- su gitea -c './build/test-env-check.sh'
|
|
- su gitea -c 'make backend'
|
|
|
|
unit-test:
|
|
image: *test_image
|
|
environment:
|
|
TAGS: 'bindata sqlite sqlite_unlock_notify'
|
|
RACE_ENABLED: 'true'
|
|
GOPROXY_OVERRIDE: *goproxy_override
|
|
secrets:
|
|
- github_read_token
|
|
- goproxy_default
|
|
commands:
|
|
- *goproxy_setup
|
|
- su gitea -c 'make unit-test-coverage test-check'
|
|
|
|
test-mysql8:
|
|
group: integration
|
|
image: *test_image
|
|
commands:
|
|
- *goproxy_setup
|
|
- su gitea -c 'timeout -s ABRT 50m make test-mysql8-migration test-mysql8'
|
|
environment:
|
|
TAGS: 'bindata'
|
|
RACE_ENABLED: 'true'
|
|
USE_REPO_TEST_DIR: '1'
|
|
GOPROXY_OVERRIDE: *goproxy_override
|
|
secrets:
|
|
- goproxy_default
|
|
|
|
test-pgsql:
|
|
group: integration
|
|
image: *test_image
|
|
commands:
|
|
- *goproxy_setup
|
|
- su gitea -c 'timeout -s ABRT 50m make test-pgsql-migration test-pgsql'
|
|
environment:
|
|
TAGS: 'bindata'
|
|
RACE_ENABLED: 'true'
|
|
USE_REPO_TEST_DIR: '1'
|
|
GOPROXY_OVERRIDE: *goproxy_override
|
|
secrets:
|
|
- goproxy_default
|
|
|
|
test-sqlite:
|
|
group: integration
|
|
image: *test_image
|
|
environment:
|
|
- USE_REPO_TEST_DIR=1
|
|
- GOPROXY=off
|
|
- TAGS=bindata gogit sqlite sqlite_unlock_notify
|
|
- TEST_TAGS=bindata gogit sqlite sqlite_unlock_notify
|
|
commands:
|
|
- su gitea -c 'timeout -s ABRT 120m make test-sqlite-migration test-sqlite'
|