mirror of
https://github.com/thomiceli/opengist.git
synced 2025-06-12 13:37:13 +02:00
Add Postgres and MySQL databases support (#335)
This commit is contained in:
56
.github/workflows/go.yml
vendored
56
.github/workflows/go.yml
vendored
@ -1,15 +1,15 @@
|
||||
name: "Go CI"
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- 'dev-*'
|
||||
workflow_dispatch:
|
||||
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- '**.yml'
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
name: Lint
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
@ -31,6 +31,7 @@ jobs:
|
||||
run: make fmt check_changes
|
||||
|
||||
check:
|
||||
name: Check
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
@ -47,12 +48,58 @@ jobs:
|
||||
- name: Check translations
|
||||
run: make check-tr
|
||||
|
||||
test-db:
|
||||
name: Test
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: ["ubuntu-latest"]
|
||||
go: ["1.22"]
|
||||
database: [postgres, mysql]
|
||||
include:
|
||||
- database: postgres
|
||||
image: postgres:16
|
||||
port: 5432:5432
|
||||
- database: mysql
|
||||
image: mysql:8
|
||||
port: 3306:3306
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
services:
|
||||
database:
|
||||
image: ${{ matrix.image }}
|
||||
ports:
|
||||
- ${{ matrix.port }}
|
||||
env:
|
||||
POSTGRES_PASSWORD: opengist
|
||||
POSTGRES_DB: opengist_test
|
||||
MYSQL_ROOT_PASSWORD: opengist
|
||||
MYSQL_DATABASE: opengist_test
|
||||
options: >-
|
||||
--health-cmd ${{ matrix.database == 'postgres' && 'pg_isready' || '"mysqladmin ping"' }}
|
||||
--health-interval 10s
|
||||
--health-timeout 5s
|
||||
--health-retries 5
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up Go ${{ matrix.go }}
|
||||
uses: actions/setup-go@v4
|
||||
with:
|
||||
go-version: ${{ matrix.go }}
|
||||
|
||||
- name: Run tests
|
||||
run: make test TEST_DB_TYPE=${{ matrix.database }}
|
||||
|
||||
test:
|
||||
name: Test
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: ["ubuntu-latest", "macOS-latest", "windows-latest"]
|
||||
go: ["1.22"]
|
||||
database: ["sqlite"]
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
@ -64,5 +111,4 @@ jobs:
|
||||
go-version: ${{ matrix.go }}
|
||||
|
||||
- name: Run tests
|
||||
run: make test
|
||||
|
||||
run: make test TEST_DB_TYPE=${{ matrix.database }}
|
Reference in New Issue
Block a user