12
12
pull_request :
13
13
14
14
jobs :
15
- test :
15
+ build :
16
16
name : ${{ matrix.compiler }} on ${{ matrix.os }}
17
17
runs-on : ${{ matrix.os }}
18
18
strategy :
66
66
with : { store: true }
67
67
68
68
# Older compiler versions
69
- test -older :
69
+ build -older :
70
70
name : ${{ matrix.compiler }} on ${{ matrix.os }}
71
71
strategy :
72
72
fail-fast : false
94
94
- ldc-1.19.0 # eq to dmd v2.089.1
95
95
runs-on : ${{ matrix.os }}
96
96
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
-
114
97
steps :
115
98
- uses : actions/checkout@v2
116
99
@@ -129,21 +112,38 @@ jobs:
129
112
- name : Build Library
130
113
run : dub build --build=release --config=library
131
114
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
-
141
115
# cache
142
116
-
uses :
WebFreak001/[email protected]
143
117
with : { store: true }
144
118
145
119
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
+
147
147
runs-on : ubuntu-20.04
148
148
149
149
services :
@@ -174,13 +174,22 @@ jobs:
174
174
if : startsWith(matrix.os, 'ubuntu')
175
175
run : sudo apt-get update && sudo apt-get install libevent-dev -y
176
176
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
+
177
186
- name : Build The Example Project
178
187
working-directory : ./examples/homePage
179
188
run : dub build
180
189
181
190
- name : Run Example (MySQL 5.7)
182
191
working-directory : ./examples/homePage
183
192
env :
184
- PORT : ${{ job.services.mysql.ports[3306] }}
193
+ MYSQL_PORT : ${{ job.services.mysql.ports[3306] }}
185
194
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