27
27
matrix :
28
28
rust : ["stable"]
29
29
backend : ["postgres", "sqlite", "mysql"]
30
- os : [ubuntu-latest, macos-13, macos-15, windows-2025, ubuntu-22.04-arm]
30
+ os :
31
+ [
32
+ ubuntu-latest,
33
+ macos-13,
34
+ macos-15,
35
+ windows-2025,
36
+ ubuntu-22.04-arm,
37
+ windows-11-arm,
38
+ ]
31
39
include :
32
40
- rust : " beta"
33
41
backend : " postgres"
@@ -145,7 +153,7 @@ jobs:
145
153
echo "MYSQLCLIENT_VERSION=8.4" >> $GITHUB_ENV
146
154
147
155
- name : Install sqlite (Windows)
148
- if : runner .os == 'Windows ' && matrix.backend == 'sqlite'
156
+ if : matrix .os == 'windows-2025 ' && matrix.backend == 'sqlite'
149
157
shell : cmd
150
158
run : |
151
159
choco install sqlite
@@ -154,15 +162,25 @@ jobs:
154
162
lib /machine:x64 /def:sqlite3.def /out:sqlite3.lib
155
163
156
164
- name : Set variables for sqlite (Windows)
157
- if : runner .os == 'Windows ' && matrix.backend == 'sqlite'
165
+ if : matrix .os == 'windows-2025 ' && matrix.backend == 'sqlite'
158
166
shell : bash
159
167
run : |
160
168
echo "C:\ProgramData\chocolatey\lib\SQLite\tools" >> $GITHUB_PATH
161
169
echo "SQLITE3_LIB_DIR=C:\ProgramData\chocolatey\lib\SQLite\tools" >> $GITHUB_ENV
162
170
echo "SQLITE_DATABASE_URL=C:\test.db" >> $GITHUB_ENV
163
171
172
+ - name : Install sqlite (Windows ARM)
173
+ if : matrix.os == 'windows-11-arm' && matrix.backend == 'sqlite'
174
+ shell : bash
175
+ run : |
176
+ vcpkg install sqlite3
177
+ echo "SQLITE3_LIB_DIR=C:/vcpkg/packages/sqlite3_arm64-windows/lib" >> $GITHUB_ENV
178
+ echo "SQLITE3_STATIC=1" >> $GITHUB_ENV
179
+ echo "VCPKGRS_DYNAMIC=0" >> $GITHUB_ENV
180
+ echo "SQLITE_DATABASE_URL=C:\test.db" >> $GITHUB_ENV
181
+
164
182
- name : Install postgres (Windows)
165
- if : runner .os == 'Windows ' && matrix.backend == 'postgres'
183
+ if : matrix .os == 'windows-2025 ' && matrix.backend == 'postgres'
166
184
shell : bash
167
185
run : |
168
186
choco install postgresql14 --force --params '/Password:root'
@@ -172,6 +190,18 @@ jobs:
172
190
echo "PG_DATABASE_URL=postgres://postgres:root@localhost/" >> $GITHUB_ENV
173
191
echo "PG_EXAMPLE_DATABASE_URL=postgres://postgres:root@localhost/diesel_example" >> $GITHUB_ENV
174
192
193
+ - name : Install postgres (Windows ARM)
194
+ if : matrix.os == 'windows-11-arm' && matrix.backend == 'postgres'
195
+ shell : bash
196
+ run : |
197
+ choco install postgresql14 --force --params '/Password:root'
198
+ vcpkg install libpq
199
+ dir "C:/vcpkg/packages/libpq_arm64-windows/"
200
+ echo "PQ_LIB_DIR=C:/vcpkg/packages/libpq_arm64-windows/" >> $GITHUB_ENV
201
+ echo "C:/vcpkg/packages/libpq_arm64-windows/" >> $GITHUB_PATH
202
+ echo "PG_DATABASE_URL=postgres://postgres:root@localhost/" >> $GITHUB_ENV
203
+ echo "PG_EXAMPLE_DATABASE_URL=postgres://postgres:root@localhost/diesel_example" >> $GITHUB_ENV
204
+
175
205
- name : Install mysql (Windows)
176
206
if : runner.os == 'Windows' && matrix.backend == 'mysql'
177
207
shell : bash
@@ -183,8 +213,6 @@ jobs:
183
213
"C:\\Program Files\\MySQL\\MySQL Server 8.0\\bin\\mysql" -e "create database diesel_test;" -u root
184
214
"C:\\Program Files\\MySQL\\MySQL Server 8.0\\bin\\mysql" -e "create database diesel_unit_test;" -u root
185
215
"C:\\Program Files\\MySQL\\MySQL Server 8.0\\bin\\mysql" -e 'grant all on `diesel_%`.* to 'root'@'localhost';' -uroot
186
- # remove doxygen because mysqlclient build otherwise breaks?
187
- rm "C:/Strawberry/c/bin/doxygen.exe"
188
216
echo "OPENSSL_RUST_USE_NASM=0" >> $GITHUB_ENV
189
217
echo OPENSSL_SRC_PERL=C:/Strawberry/perl/bin/perl >> $GITHUB_ENV
190
218
echo "MYSQL_DATABASE_URL=mysql://[email protected] /diesel_test" >> $GITHUB_ENV
@@ -196,6 +224,28 @@ jobs:
196
224
echo "C:\Program Files\MySQL\MySQL Server 8.0\bin" >> $GITHUB_PATH
197
225
dir "C:\Program Files\MySQL\MySQL Server 8.0\lib"
198
226
227
+ - name : Install mysqlcient (Windows ARM)
228
+ if : matrix.os == 'windows-11-arm' && matrix.backend == 'mysql'
229
+ shell : bash
230
+ run : |
231
+ vcpkg install libmysql
232
+
233
+ - name : Remove doxygen (Windows)
234
+ if : matrix.os == 'windows-2025' && matrix.backend == 'mysql'
235
+ shell : bash
236
+ run : |
237
+ # remove doxygen because mysqlclient build otherwise breaks?
238
+ rm "C:/Strawberry/c/bin/doxygen.exe"
239
+
240
+ - name : Install rustup
241
+ if : matrix.os == 'windows-11-arm'
242
+ shell : pwsh
243
+ run : |
244
+ Invoke-WebRequest -Uri "https://static.rust-lang.org/rustup/dist/aarch64-pc-windows-msvc/rustup-init.exe" -OutFile rustup-init.exe
245
+ .\rustup-init.exe --default-toolchain none -y
246
+ "$env:USERPROFILE\.cargo\bin" | Out-File -Append -Encoding ascii $env:GITHUB_PATH
247
+ "CARGO_HOME=$env:USERPROFILE\.cargo" | Out-File -Append -Encoding ascii $env:GITHUB_ENV
248
+
199
249
- name : Install rust toolchain
200
250
uses : dtolnay/rust-toolchain@master
201
251
with :
0 commit comments