Skip to content

Commit df5f5e5

Browse files
committed
move unittest-vibe-ut stage to Integration Test stage
1 parent 3e1a929 commit df5f5e5

File tree

1 file changed

+40
-31
lines changed

1 file changed

+40
-31
lines changed

.github/workflows/dub.yml

Lines changed: 40 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ on:
1212
pull_request:
1313

1414
jobs:
15-
test:
15+
build:
1616
name: ${{ matrix.compiler }} on ${{ matrix.os }}
1717
runs-on: ${{ matrix.os }}
1818
strategy:
@@ -66,7 +66,7 @@ jobs:
6666
with: { store: true }
6767

6868
# Older compiler versions
69-
test-older:
69+
build-older:
7070
name: ${{ matrix.compiler }} on ${{ matrix.os }}
7171
strategy:
7272
fail-fast: false
@@ -94,23 +94,6 @@ jobs:
9494
- ldc-1.19.0 # eq to dmd v2.089.1
9595
runs-on: ${{ matrix.os }}
9696

97-
services:
98-
mysql:
99-
image: mysql:5.7
100-
ports: [3306]
101-
# Set the connection details to match testConnectionStr.txt
102-
env:
103-
MYSQL_ROOT_PASSWORD: f48dfhw3Hd!Asah7i2aZ
104-
MYSQL_DATABASE: mysqln_testdb
105-
MYSQL_USER: mysqln_test
106-
MYSQL_PASSWORD: pass123
107-
# Set health checks to wait until mysql service has started
108-
options: >-
109-
--health-cmd "mysqladmin ping"
110-
--health-interval 10s
111-
--health-timeout 3s
112-
--health-retries 4
113-
11497
steps:
11598
- uses: actions/checkout@v2
11699

@@ -129,21 +112,38 @@ jobs:
129112
- name: Build Library
130113
run: dub build --build=release --config=library
131114

132-
## Turns out the unittest-vibe-ut tried to connect to an actualy MySQL on 172.18.0.1 so it's not
133-
## actually a unit test at all. It's an integration test and should be pulled out of the codebase.
134-
- name: Run unittest-vibe-ut
135-
env:
136-
MYSQL_PORT: ${{ job.services.mysql.ports[3306] }}
137-
run: |
138-
echo "host=localhost;port=$MYSQL_PORT;user=mysqln_test;pwd=pass123;db=mysqln_testdb" > testConnectionStr.txt
139-
dub run -c unittest-vibe-ut -- -t
140-
141115
# cache
142116
- uses: WebFreak001/[email protected]
143117
with: { store: true }
144118

145119
integration-tests:
146-
name: Integration Tests
120+
name: Integration Tests ${{ matrix.compiler }}
121+
strategy:
122+
fail-fast: false
123+
matrix:
124+
compiler:
125+
- dmd-latest
126+
- ldc-latest
127+
- dmd-2.096.1
128+
- dmd-2.095.1
129+
- dmd-2.094.2
130+
- dmd-2.093.1
131+
- dmd-2.092.1
132+
- dmd-2.091.1
133+
- dmd-2.090.1
134+
- dmd-2.089.1
135+
- dmd-2.088.1
136+
- dmd-2.087.1
137+
- dmd-2.086.1
138+
- dmd-2.085.1
139+
- dmd-2.084.1
140+
- dmd-2.083.1 ## As far back as unit-threaded seems to work
141+
- ldc-1.23.0 # eq to dmd v2.093.1
142+
- ldc-1.22.0 # eq to dmd v2.092.1
143+
- ldc-1.21.0 # eq to dmd v2.091.1
144+
- ldc-1.20.1 # eq to dmd v2.090.1
145+
- ldc-1.19.0 # eq to dmd v2.089.1
146+
147147
runs-on: ubuntu-20.04
148148

149149
services:
@@ -174,13 +174,22 @@ jobs:
174174
if: startsWith(matrix.os, 'ubuntu')
175175
run: sudo apt-get update && sudo apt-get install libevent-dev -y
176176

177+
## Turns out the unittest-vibe-ut tried to connect to an actualy MySQL on 172.18.0.1 so it's not
178+
## actually a unit test at all. It's an integration test and should be pulled out of the codebase.
179+
- name: Run unittest-vibe-ut
180+
env:
181+
MYSQL_PORT: ${{ job.services.mysql.ports[3306] }}
182+
run: |
183+
echo "host=localhost;port=$MYSQL_PORT;user=testuser;pwd=passw0rd;db=testdb" > testConnectionStr.txt
184+
dub run -c unittest-vibe-ut -- -t
185+
177186
- name: Build The Example Project
178187
working-directory: ./examples/homePage
179188
run: dub build
180189

181190
- name: Run Example (MySQL 5.7)
182191
working-directory: ./examples/homePage
183192
env:
184-
PORT: ${{ job.services.mysql.ports[3306] }}
193+
MYSQL_PORT: ${{ job.services.mysql.ports[3306] }}
185194
run: |
186-
./example "host=localhost;port=$PORT;user=testuser;pwd=passw0rd;db=testdb"
195+
./example "host=localhost;port=$MYSQL_PORT;user=testuser;pwd=passw0rd;db=testdb"

0 commit comments

Comments
 (0)