Skip to content

test(integration): refactor to run db integration test as matrix #397

test(integration): refactor to run db integration test as matrix

test(integration): refactor to run db integration test as matrix #397

# name of the action
name: integration-test
# trigger on pull_request events that modify this file or any database files
on:
pull_request:
paths:
- '.github/workflows/integration-test.yml'
- 'database/**'
# pipeline to execute
jobs:
database_postgres:
runs-on: ubuntu-latest
strategy:
matrix:
# support should be n-1 here
postgres_version:
- postgres:15-alpine
- postgres:16-alpine
services:
postgres:
image: ${{ matrix.postgres_version }}
env:
POSTGRES_DB: vela
POSTGRES_PASSWORD: notARealPassword12345
POSTGRES_USER: vela
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
env:
POSTGRES_ADDR: postgres://vela:notARealPassword12345@localhost:5432/vela
steps:
- name: clone
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
- name: install go
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4
with:
# use version from go.mod file
go-version-file: 'go.mod'
cache: true
check-latest: true
- name: testing with ${{ matrix.postgres_version }}
run: |
DB_DRIVER=postgres make integration-test
database_sql:
runs-on: ubuntu-latest
env:
SQLITE_ADDR: vela.db
steps:
- name: clone
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
- name: install go
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4
with:
# use version from go.mod file
go-version-file: 'go.mod'
cache: true
check-latest: true
- name: testing with sqlite
run: |
DB_DRIVER=sqlite make integration-test