Docs for Gitea Actions #196
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Pull: Database Tests" | |
on: [pull_request] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
# PostgreSQL Tests | |
db_pgsql_test: | |
runs-on: ubuntu-latest | |
services: | |
pgsql: | |
image: postgres:15 | |
env: | |
POSTGRES_DB: test | |
POSTGRES_PASSWORD: postgres | |
ports: | |
- "5432:5432" | |
ldap: | |
image: gitea/test-openldap:latest | |
ports: | |
- "389:389" | |
- "636:636" | |
minio: | |
# as github actions doesn't support "entrypoint", we need to use a non-official image | |
# that has a custom entrypoint set to "minio server /data" | |
image: bitnami/minio:2021.3.17 | |
env: | |
MINIO_ACCESS_KEY: 123456 | |
MINIO_SECRET_KEY: 12345678 | |
ports: | |
- "9000:9000" | |
steps: | |
- name: checkout | |
uses: actions/checkout@v3 | |
- name: setup go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: '>=1.20.0' | |
- name: Add hosts to /etc/hosts | |
run: echo "127.0.0.1 pgsql ldap minio" | sudo tee -a /etc/hosts | |
- name: install dependencies | |
run: make deps-backend | |
- name: build | |
run: make backend | |
env: | |
GOPROXY: https://goproxy.io | |
GOSUMDB: sum.golang.org | |
TAGS: bindata | |
- name: run tests | |
run: timeout -s ABRT 50m make test-pgsql-migration test-pgsql | |
env: | |
GOPROXY: https://goproxy.io | |
TAGS: bindata gogit | |
RACE_ENABLED: true | |
TEST_TAGS: gogit | |
TEST_LDAP: 1 | |
USE_REPO_TEST_DIR: 1 | |
# SQLite Tests | |
db_sqlite_test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v3 | |
- name: setup go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: '>=1.20.0' | |
- name: install dependencies | |
run: make deps-backend | |
- name: build | |
run: make backend | |
env: | |
GOPROXY: https://goproxy.io | |
GOSUMDB: sum.golang.org | |
TAGS: bindata gogit sqlite sqlite_unlock_notify | |
- name: run tests | |
run: timeout -s ABRT 50m make test-sqlite-migration test-sqlite | |
env: | |
GOPROXY: https://goproxy.io | |
TAGS: bindata gogit sqlite sqlite_unlock_notify | |
RACE_ENABLED: true | |
TEST_TAGS: gogit sqlite sqlite_unlock_notify | |
USE_REPO_TEST_DIR: 1 | |
# Unit Tests | |
db_unit_tests: | |
runs-on: ubuntu-latest | |
services: | |
mysql: | |
image: mysql:5.7 | |
env: | |
MYSQL_ALLOW_EMPTY_PASSWORD: yes | |
MYSQL_DATABASE: test | |
ports: | |
- "3306:3306" | |
elasticsearch: | |
image: elasticsearch:7.5.0 | |
env: | |
discovery.type: single-node | |
ports: | |
- "9200:9200" | |
smtpimap: | |
image: tabascoterrier/docker-imap-devel:latest | |
ports: | |
- "25:25" | |
- "143:143" | |
- "587:587" | |
- "993:993" | |
steps: | |
- name: checkout | |
uses: actions/checkout@v3 | |
- name: setup go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: '>=1.20.0' | |
- name: Add hosts to /etc/hosts | |
run: echo "127.0.0.1 mysql elasticsearch smtpimap" | sudo tee -a /etc/hosts | |
- name: install dependencies | |
run: make deps-backend | |
- name: build | |
run: make backend | |
env: | |
GOPROXY: https://goproxy.io | |
GOSUMDB: sum.golang.org | |
TAGS: bindata | |
- name: unit tests | |
run: make unit-test-coverage test-check | |
env: | |
GOPROXY: https://goproxy.io | |
TAGS: bindata | |
RACE_ENABLED: true | |
GITHUB_READ_TOKEN: ${{ secrets.GITHUB_READ_TOKEN }} | |
- name: unit tests (gogit) | |
run: make unit-test-coverage test-check | |
env: | |
GOPROXY: https://goproxy.io | |
TAGS: bindata gogit | |
RACE_ENABLED: true | |
GITHUB_READ_TOKEN: ${{ secrets.GITHUB_READ_TOKEN }} | |
# MySQL Tests | |
db_mysql_test: | |
runs-on: ubuntu-latest | |
services: | |
mysql: | |
image: mysql:5.7 | |
env: | |
MYSQL_ALLOW_EMPTY_PASSWORD: yes | |
MYSQL_DATABASE: test | |
ports: | |
- "3306:3306" | |
elasticsearch: | |
image: elasticsearch:7.5.0 | |
env: | |
discovery.type: single-node | |
ports: | |
- "9200:9200" | |
smtpimap: | |
image: tabascoterrier/docker-imap-devel:latest | |
ports: | |
- "25:25" | |
- "143:143" | |
- "587:587" | |
- "993:993" | |
steps: | |
- name: checkout | |
uses: actions/checkout@v3 | |
- name: setup go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: '>=1.20.0' | |
- name: Add hosts to /etc/hosts | |
run: echo "127.0.0.1 mysql elasticsearch smtpimap" | sudo tee -a /etc/hosts | |
- name: install dependencies | |
run: make deps-backend | |
- name: build | |
run: make backend | |
env: | |
GOPROXY: https://goproxy.io | |
GOSUMDB: sum.golang.org | |
TAGS: bindata | |
- name: run tests | |
run: make test-mysql-migration integration-test-coverage | |
env: | |
GOPROXY: https://goproxy.io | |
TAGS: bindata | |
RACE_ENABLED: true | |
USE_REPO_TEST_DIR: 1 | |
TEST_INDEXER_CODE_ES_URL: "http://elastic:changeme@elasticsearch:9200" | |
# MySQL8 Tests | |
db_mysql8_test: | |
runs-on: ubuntu-latest | |
services: | |
mysql8: | |
image: mysql:8 | |
env: | |
MYSQL_ALLOW_EMPTY_PASSWORD: yes | |
MYSQL_DATABASE: testgitea | |
ports: | |
- "3306:3306" | |
steps: | |
- name: checkout | |
uses: actions/checkout@v3 | |
- name: setup go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: '>=1.20.0' | |
- name: Add hosts to /etc/hosts | |
run: echo "127.0.0.1 mysql8" | sudo tee -a /etc/hosts | |
- name: install dependencies | |
run: make deps-backend | |
- name: build | |
run: make backend | |
env: | |
GOPROXY: https://goproxy.io | |
GOSUMDB: sum.golang.org | |
TAGS: bindata | |
- name: run tests | |
run: timeout -s ABRT 50m make test-mysql8-migration test-mysql8 | |
env: | |
GOPROXY: https://goproxy.io | |
TAGS: bindata | |
USE_REPO_TEST_DIR: 1 | |
# MSSQL Tests | |
db_mssql_test: | |
runs-on: ubuntu-latest | |
services: | |
mssql: | |
image: mcr.microsoft.com/mssql/server:latest | |
env: | |
ACCEPT_EULA: Y | |
MSSQL_PID: Standard | |
SA_PASSWORD: MwantsaSecurePassword1 | |
ports: | |
- "1433:1433" | |
steps: | |
- name: checkout | |
uses: actions/checkout@v3 | |
- name: setup go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: '>=1.20.0' | |
- name: Add hosts to /etc/hosts | |
run: echo "127.0.0.1 mssql" | sudo tee -a /etc/hosts | |
- name: install dependencies | |
run: make deps-backend | |
- name: build | |
run: make backend | |
env: | |
GOPROXY: https://goproxy.io | |
GOSUMDB: sum.golang.org | |
TAGS: bindata | |
- name: run tests | |
run: timeout -s ABRT 50m make test-mssql-migration test-mssql | |
env: | |
GOPROXY: https://goproxy.io | |
TAGS: bindata | |
USE_REPO_TEST_DIR: 1 |