2727 matrix :
2828 rust : ["stable"]
2929 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+ ]
3139 include :
3240 - rust : " beta"
3341 backend : " postgres"
@@ -145,7 +153,7 @@ jobs:
145153 echo "MYSQLCLIENT_VERSION=8.4" >> $GITHUB_ENV
146154
147155 - name : Install sqlite (Windows)
148- if : runner .os == 'Windows ' && matrix.backend == 'sqlite'
156+ if : matrix .os == 'windows-2025 ' && matrix.backend == 'sqlite'
149157 shell : cmd
150158 run : |
151159 choco install sqlite
@@ -154,15 +162,25 @@ jobs:
154162 lib /machine:x64 /def:sqlite3.def /out:sqlite3.lib
155163
156164 - name : Set variables for sqlite (Windows)
157- if : runner .os == 'Windows ' && matrix.backend == 'sqlite'
165+ if : matrix .os == 'windows-2025 ' && matrix.backend == 'sqlite'
158166 shell : bash
159167 run : |
160168 echo "C:\ProgramData\chocolatey\lib\SQLite\tools" >> $GITHUB_PATH
161169 echo "SQLITE3_LIB_DIR=C:\ProgramData\chocolatey\lib\SQLite\tools" >> $GITHUB_ENV
162170 echo "SQLITE_DATABASE_URL=C:\test.db" >> $GITHUB_ENV
163171
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+
164182 - name : Install postgres (Windows)
165- if : runner .os == 'Windows ' && matrix.backend == 'postgres'
183+ if : matrix .os == 'windows-2025 ' && matrix.backend == 'postgres'
166184 shell : bash
167185 run : |
168186 choco install postgresql14 --force --params '/Password:root'
@@ -172,6 +190,18 @@ jobs:
172190 echo "PG_DATABASE_URL=postgres://postgres:root@localhost/" >> $GITHUB_ENV
173191 echo "PG_EXAMPLE_DATABASE_URL=postgres://postgres:root@localhost/diesel_example" >> $GITHUB_ENV
174192
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+
175205 - name : Install mysql (Windows)
176206 if : runner.os == 'Windows' && matrix.backend == 'mysql'
177207 shell : bash
@@ -183,8 +213,6 @@ jobs:
183213 "C:\\Program Files\\MySQL\\MySQL Server 8.0\\bin\\mysql" -e "create database diesel_test;" -u root
184214 "C:\\Program Files\\MySQL\\MySQL Server 8.0\\bin\\mysql" -e "create database diesel_unit_test;" -u root
185215 "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"
188216 echo "OPENSSL_RUST_USE_NASM=0" >> $GITHUB_ENV
189217 echo OPENSSL_SRC_PERL=C:/Strawberry/perl/bin/perl >> $GITHUB_ENV
190218 echo "MYSQL_DATABASE_URL=mysql://[email protected] /diesel_test" >> $GITHUB_ENV @@ -196,6 +224,28 @@ jobs:
196224 echo "C:\Program Files\MySQL\MySQL Server 8.0\bin" >> $GITHUB_PATH
197225 dir "C:\Program Files\MySQL\MySQL Server 8.0\lib"
198226
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+
199249 - name : Install rust toolchain
200250 uses : dtolnay/rust-toolchain@master
201251 with :
0 commit comments