1212 pull_request :
1313
1414jobs :
15- test :
15+ build :
1616 name : ${{ matrix.compiler }} on ${{ matrix.os }}
1717 runs-on : ${{ matrix.os }}
1818 strategy :
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
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/dub-upgrade@v0.1
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