-
Notifications
You must be signed in to change notification settings - Fork 118
131 lines (127 loc) · 3.95 KB
/
integration_tests.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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
name: Go
on:
workflow_call:
push:
branches:
- master
pull_request:
env:
TEST_RESULTS: /tmp/test-results # path to where test results will be saved
GH_ACTIONS: "0"
TEST_SKIP_COMMENTS: "1"
GO_VERSION: "1.22.5"
jobs:
initialize_data:
name: Initialize Test Data
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
submodules: 'true'
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
- name: Verify go version
run: go version
- name: Init database
run: |
cd tests
go run ./init/init.go -testsuite mariadb
# go run ./init/init.go -testsuite all
- uses: actions/upload-artifact@v4
with:
name: testData
include-hidden-files: true
path: ${{ github.workspace }}/tests/.gentestdata/
# standard_tests:
# name: Run Standard Tests
# needs: initialize_data
# runs-on: ubuntu-latest
# steps:
# - name: Checkout Repository
# uses: actions/checkout@v4
# with:
# submodules: 'true'
# - name: Set up Go
# uses: actions/setup-go@v5
# with:
# go-version: ${{ env.GO_VERSION }}
# - uses: actions/download-artifact@v4
# with:
# name: testData
# path: ./tests/.gentestdata
# # to create test results report
# - name: Install go-junit-report
# run: go install github.com/jstemmer/go-junit-report/v2@latest
# - name: locate binary
# run: which go-junit-report
# - name: Install jet
# run: go install ./cmd/jet
# - name: Setup Test Report Dir
# run: mkdir -p ${{ env.TEST_RESULTS }}
# # this will run all tests and exclude test files from code coverage report
# - name: Run Tests
# run: |
# go test -v ./... \
# -covermode=atomic \
# -coverpkg=github.com/go-jet/jet/v2/postgres/...,github.com/go-jet/jet/v2/mysql/...,github.com/go-jet/jet/v2/sqlite/...,github.com/go-jet/jet/v2/qrm/...,github.com/go-jet/jet/v2/generator/...,github.com/go-jet/jet/v2/internal/... \
# -coverprofile=cover.out 2>&1 | go-junit-report > ${{ env.TEST_RESULTS }}/results.xml
# - name: Archive code coverage results
# uses: actions/upload-artifact@v4
# with:
# name: code-coverage-report
# path: ${{ env.TEST_RESULTS }}/results.xml
# - name: Store cover.out
# uses: actions/upload-artifact@v4
# with:
# name: cover.out
# path: cover.out
# - name: Store test-results
# uses: actions/upload-artifact@v4
# with:
# name: test-results
# path: /tmp/test-results
# cockroach_test:
# name: Cockroach Test
# needs: initialize_data
# runs-on: ubuntu-latest
# steps:
# - name: Checkout Repository
# uses: actions/checkout@v4
# with:
# submodules: 'true'
# - name: Set up Go
# uses: actions/setup-go@v5
# with:
# go-version: ${{ env.GO_VERSION }}
# - uses: actions/download-artifact@v4
# with:
# name: testData
# path: ./tests/.gentestdata
# - name: Install jet
# run: go install ./cmd/jet
# - name: Run cockroach DB
# run: PG_SOURCE=COCKROACH_DB go test -v ./tests/postgres/
maria_test:
name: MariaDB Test
needs: initialize_data
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
submodules: 'true'
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
- uses: actions/download-artifact@v4
with:
name: testData
path: ./tests/.gentestdata
- name: Install jet
run: go install ./cmd/jet
- name: Run MariaDB tests
run: MY_SQL_SOURCE=MariaDB go test -v ./tests/mysql/