-
Notifications
You must be signed in to change notification settings - Fork 28
77 lines (64 loc) · 1.91 KB
/
integration-test.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# 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@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: install go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
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@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: install go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
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