release-action
#279
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: db-tests | |
on: | |
pull_request: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
files-changed: | |
uses: ./.github/workflows/files-changed.yml | |
test-pgsql: | |
if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' | |
needs: files-changed | |
runs-on: ubuntu-latest | |
services: | |
pgsql: | |
image: postgres:12 | |
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:2023.8.31 | |
env: | |
MINIO_ROOT_USER: 123456 | |
MINIO_ROOT_PASSWORD: 12345678 | |
ports: | |
- "9000:9000" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version-file: go.mod | |
check-latest: true | |
- name: Add hosts to /etc/hosts | |
run: '[ -e "/.dockerenv" ] || [ -e "/run/.containerenv" ] || echo "127.0.0.1 pgsql ldap minio" | sudo tee -a /etc/hosts' | |
- run: make deps-backend | |
- run: make backend | |
env: | |
TAGS: bindata | |
- run: make test-pgsql-migration test-pgsql | |
timeout-minutes: 50 | |
env: | |
TAGS: bindata gogit | |
RACE_ENABLED: true | |
TEST_TAGS: gogit | |
TEST_LDAP: 1 | |
USE_REPO_TEST_DIR: 1 | |
test-sqlite: | |
if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' | |
needs: files-changed | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version-file: go.mod | |
check-latest: true | |
- run: make deps-backend | |
- run: make backend | |
env: | |
TAGS: bindata gogit sqlite sqlite_unlock_notify | |
- run: 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 | |
test-unit: | |
if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' | |
needs: files-changed | |
runs-on: ubuntu-latest | |
services: | |
elasticsearch: | |
image: elasticsearch:7.5.0 | |
env: | |
discovery.type: single-node | |
ports: | |
- "9200:9200" | |
meilisearch: | |
image: getmeili/meilisearch:v1.2.0 | |
env: | |
MEILI_ENV: development # disable auth | |
ports: | |
- "7700:7700" | |
redis: | |
image: redis | |
options: >- # wait until redis has started | |
--health-cmd "redis-cli ping" | |
--health-interval 5s | |
--health-timeout 3s | |
--health-retries 10 | |
ports: | |
- 6379:6379 | |
minio: | |
image: bitnami/minio:2021.3.17 | |
env: | |
MINIO_ACCESS_KEY: 123456 | |
MINIO_SECRET_KEY: 12345678 | |
ports: | |
- "9000:9000" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version-file: go.mod | |
check-latest: true | |
- name: Add hosts to /etc/hosts | |
run: '[ -e "/.dockerenv" ] || [ -e "/run/.containerenv" ] || echo "127.0.0.1 mysql elasticsearch meilisearch smtpimap" | sudo tee -a /etc/hosts' | |
- run: make deps-backend | |
- run: make backend | |
env: | |
TAGS: bindata | |
- name: unit-tests | |
run: make unit-test-coverage test-check | |
env: | |
TAGS: bindata | |
RACE_ENABLED: true | |
GITHUB_READ_TOKEN: ${{ secrets.GITHUB_READ_TOKEN }} | |
- name: unit-tests-gogit | |
run: make unit-test-coverage test-check | |
env: | |
TAGS: bindata gogit | |
RACE_ENABLED: true | |
GITHUB_READ_TOKEN: ${{ secrets.GITHUB_READ_TOKEN }} | |
test-mysql: | |
if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' | |
needs: files-changed | |
runs-on: ubuntu-latest | |
services: | |
mysql: | |
image: mysql:8.0 | |
env: | |
MYSQL_ALLOW_EMPTY_PASSWORD: true | |
MYSQL_DATABASE: testgitea | |
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: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version-file: go.mod | |
check-latest: true | |
- name: Add hosts to /etc/hosts | |
run: '[ -e "/.dockerenv" ] || [ -e "/run/.containerenv" ] || echo "127.0.0.1 mysql elasticsearch smtpimap" | sudo tee -a /etc/hosts' | |
- run: make deps-backend | |
- run: make backend | |
env: | |
TAGS: bindata | |
- name: run tests | |
run: make test-mysql-migration integration-test-coverage | |
env: | |
TAGS: bindata | |
RACE_ENABLED: true | |
USE_REPO_TEST_DIR: 1 | |
TEST_INDEXER_CODE_ES_URL: "http://elastic:changeme@elasticsearch:9200" | |
test-mssql: | |
if: needs.files-changed.outputs.backend == 'true' || needs.files-changed.outputs.actions == 'true' | |
needs: files-changed | |
runs-on: ubuntu-latest | |
services: | |
mssql: | |
image: mcr.microsoft.com/mssql/server:2017-latest | |
env: | |
ACCEPT_EULA: Y | |
MSSQL_PID: Standard | |
SA_PASSWORD: MwantsaSecurePassword1 | |
ports: | |
- "1433:1433" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version-file: go.mod | |
check-latest: true | |
- name: Add hosts to /etc/hosts | |
run: '[ -e "/.dockerenv" ] || [ -e "/run/.containerenv" ] || echo "127.0.0.1 mssql" | sudo tee -a /etc/hosts' | |
- run: make deps-backend | |
- run: make backend | |
env: | |
TAGS: bindata | |
- run: make test-mssql-migration test-mssql | |
timeout-minutes: 50 | |
env: | |
TAGS: bindata | |
USE_REPO_TEST_DIR: 1 |