82395a1f72
Refs: https://codeberg.org/forgejo/forgejo/issues/2051 Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2053 Reviewed-by: Loïc Dachary <dachary@noreply.codeberg.org> Co-authored-by: Earl Warren <contact@earl-warren.org> Co-committed-by: Earl Warren <contact@earl-warren.org> (cherry picked from commit 01abf4d505b092886ed22cdb903ec834061cd7d6) [CI] Forgejo Actions based release process (squash) no ownca The private Forgejo instance trusted with the release signing keys no longer requires the installation of the ownca certificate authority. Refs: https://codeberg.org/forgejo/docs/pulls/338 (cherry picked from commit 72f9ae796d7d7328e87129485e83251708f3d2fb) (cherry picked from commit b0ca4236d76bcc24dfeecba54b602af542355c7d) (cherry picked from commit 81619cf8b5e1650eeb8cb315ee7fa70d0c2d82ba) (cherry picked from commit 2cb32c1a2bd1dd58bb51b81b06e5453608cf0b5d) (cherry picked from commit f817d97f85fff41392ff3017245b80a3ab73cf8a) (cherry picked from commit 7499661326231f5f353c977546f57787a130346f)
195 lines
6.2 KiB
YAML
195 lines
6.2 KiB
YAML
name: testing
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- 'forgejo*'
|
|
- 'v*/forgejo*'
|
|
|
|
jobs:
|
|
lint-backend:
|
|
if: ${{ !startsWith(vars.ROLE, 'forgejo-') }}
|
|
runs-on: docker
|
|
container:
|
|
image: 'docker.io/node:20-bookworm'
|
|
steps:
|
|
- uses: https://code.forgejo.org/actions/checkout@v3
|
|
- uses: https://code.forgejo.org/actions/setup-go@v4
|
|
with:
|
|
go-version: ">=1.21"
|
|
check-latest: true
|
|
- run: make deps-backend deps-tools
|
|
- run: make lint-backend
|
|
env:
|
|
TAGS: bindata sqlite sqlite_unlock_notify
|
|
checks-backend:
|
|
if: ${{ !startsWith(vars.ROLE, 'forgejo-') }}
|
|
runs-on: docker
|
|
container:
|
|
image: 'docker.io/node:20-bookworm'
|
|
steps:
|
|
- uses: https://code.forgejo.org/actions/checkout@v3
|
|
- uses: https://code.forgejo.org/actions/setup-go@v4
|
|
with:
|
|
go-version: ">=1.21"
|
|
check-latest: true
|
|
- run: make deps-backend deps-tools
|
|
- run: make --always-make checks-backend # ensure the "go-licenses" make target runs
|
|
test-unit:
|
|
if: ${{ !startsWith(vars.ROLE, 'forgejo-') }}
|
|
runs-on: docker
|
|
needs: [lint-backend, checks-backend]
|
|
container:
|
|
image: 'docker.io/node:20-bookworm'
|
|
services:
|
|
minio:
|
|
image: 'docker.io/bitnami/minio:2023.8.31'
|
|
env:
|
|
MINIO_ROOT_USER: 123456
|
|
MINIO_ROOT_PASSWORD: 12345678
|
|
steps:
|
|
- uses: https://code.forgejo.org/actions/checkout@v3
|
|
- uses: https://code.forgejo.org/actions/setup-go@v4
|
|
with:
|
|
go-version: ">=1.21"
|
|
- run: |
|
|
git config --add safe.directory '*'
|
|
adduser --quiet --comment forgejo --disabled-password forgejo
|
|
chown -R forgejo:forgejo .
|
|
- run: |
|
|
su forgejo -c 'make deps-backend'
|
|
- run: |
|
|
su forgejo -c 'make backend'
|
|
env:
|
|
TAGS: bindata
|
|
- run: |
|
|
su forgejo -c 'make test-backend test-check'
|
|
timeout-minutes: 50
|
|
env:
|
|
RACE_ENABLED: 'true'
|
|
TAGS: bindata
|
|
test-mysql:
|
|
if: ${{ !startsWith(vars.ROLE, 'forgejo-') }}
|
|
runs-on: docker
|
|
needs: [lint-backend, checks-backend]
|
|
container:
|
|
image: 'docker.io/node:20-bookworm'
|
|
services:
|
|
mysql:
|
|
image: 'docker.io/mysql:8-debian'
|
|
env:
|
|
MYSQL_ALLOW_EMPTY_PASSWORD: yes
|
|
MYSQL_DATABASE: testgitea
|
|
#
|
|
# See also https://codeberg.org/forgejo/forgejo/issues/976
|
|
#
|
|
cmd: ['mysqld', '--innodb-adaptive-flushing=OFF', '--innodb-buffer-pool-size=4G', '--innodb-log-buffer-size=128M', '--innodb-flush-log-at-trx-commit=0', '--innodb-flush-log-at-timeout=30', '--innodb-flush-method=nosync', '--innodb-fsync-threshold=1000000000']
|
|
steps:
|
|
- uses: https://code.forgejo.org/actions/checkout@v3
|
|
- uses: https://code.forgejo.org/actions/setup-go@v4
|
|
with:
|
|
go-version: "1.21"
|
|
- name: install dependencies
|
|
run: |
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
apt-get update -qq
|
|
apt-get install --no-install-recommends -qq -y git-lfs
|
|
- name: setup user and permissions
|
|
run: |
|
|
git config --add safe.directory '*'
|
|
adduser --quiet --comment forgejo --disabled-password forgejo
|
|
chown -R forgejo:forgejo .
|
|
- run: |
|
|
su forgejo -c 'make deps-backend'
|
|
- run: |
|
|
su forgejo -c 'make backend'
|
|
env:
|
|
TAGS: bindata
|
|
- run: |
|
|
su forgejo -c 'make test-mysql-migration test-mysql'
|
|
timeout-minutes: 50
|
|
env:
|
|
TAGS: bindata
|
|
USE_REPO_TEST_DIR: 1
|
|
test-pgsql:
|
|
if: ${{ !startsWith(vars.ROLE, 'forgejo-') }}
|
|
runs-on: docker
|
|
needs: [lint-backend, checks-backend]
|
|
container:
|
|
image: 'docker.io/node:20-bookworm'
|
|
services:
|
|
minio:
|
|
image: bitnami/minio:2021.3.17
|
|
env:
|
|
MINIO_ACCESS_KEY: 123456
|
|
MINIO_SECRET_KEY: 12345678
|
|
pgsql:
|
|
image: 'docker.io/postgres:15'
|
|
env:
|
|
POSTGRES_DB: test
|
|
POSTGRES_PASSWORD: postgres
|
|
steps:
|
|
- uses: https://code.forgejo.org/actions/checkout@v3
|
|
- uses: https://code.forgejo.org/actions/setup-go@v4
|
|
with:
|
|
go-version: "1.21"
|
|
- name: install dependencies
|
|
run: |
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
apt-get update -qq
|
|
apt-get install --no-install-recommends -qq -y git-lfs
|
|
- name: setup user and permissions
|
|
run: |
|
|
git config --add safe.directory '*'
|
|
adduser --quiet --comment forgejo --disabled-password forgejo
|
|
chown -R forgejo:forgejo .
|
|
- run: |
|
|
su forgejo -c 'make deps-backend'
|
|
- run: |
|
|
su forgejo -c 'make backend'
|
|
env:
|
|
TAGS: bindata
|
|
- run: |
|
|
su forgejo -c 'make test-pgsql-migration test-pgsql'
|
|
timeout-minutes: 50
|
|
env:
|
|
TAGS: bindata gogit
|
|
RACE_ENABLED: true
|
|
TEST_TAGS: gogit
|
|
USE_REPO_TEST_DIR: 1
|
|
test-sqlite:
|
|
if: ${{ !startsWith(vars.ROLE, 'forgejo-') }}
|
|
runs-on: docker
|
|
needs: [lint-backend, checks-backend]
|
|
container:
|
|
image: 'docker.io/node:20-bookworm'
|
|
steps:
|
|
- uses: https://code.forgejo.org/actions/checkout@v3
|
|
- uses: https://code.forgejo.org/actions/setup-go@v4
|
|
with:
|
|
go-version: "1.21"
|
|
- name: install dependencies
|
|
run: |
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
apt-get update -qq
|
|
apt-get install --no-install-recommends -qq -y git-lfs
|
|
- name: setup user and permissions
|
|
run: |
|
|
git config --add safe.directory '*'
|
|
adduser --quiet --comment forgejo --disabled-password forgejo
|
|
chown -R forgejo:forgejo .
|
|
- run: |
|
|
su forgejo -c 'make deps-backend'
|
|
- run: |
|
|
su forgejo -c 'make backend'
|
|
env:
|
|
TAGS: bindata gogit sqlite sqlite_unlock_notify
|
|
- run: |
|
|
su forgejo -c 'make test-sqlite-migration test-sqlite'
|
|
timeout-minutes: 50
|
|
env:
|
|
TAGS: bindata gogit sqlite sqlite_unlock_notify
|
|
RACE_ENABLED: true
|
|
TEST_TAGS: gogit sqlite sqlite_unlock_notify
|
|
USE_REPO_TEST_DIR: 1
|