diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b6aae98d..adf08dd5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -146,6 +146,7 @@ jobs: # platforms mostly to smoketest that the build machinery in mk/ is # portable. - arm-unknown-linux-gnueabihf + - aarch64-pc-windows-msvc - i686-pc-windows-msvc - x86_64-unknown-linux-musl - x86_64-unknown-linux-gnu @@ -170,6 +171,11 @@ jobs: rust_channel: 1.46.0 include: + - target: aarch64-pc-windows-msvc + host_os: windows-latest + # GitHub Actions doesn't have a way to run this target yet. + cargo_options: --no-run + - target: arm-unknown-linux-gnueabihf host_os: ubuntu-22.04 @@ -202,6 +208,11 @@ jobs: - if: ${{ matrix.target == 'aarch64-apple-darwin' }} run: echo "DEVELOPER_DIR=/Applications/Xcode_12.2.app/Contents/Developer" >> $GITHUB_ENV + - if: ${{ matrix.target == 'aarch64-pc-windows-msvc' }} + run: | + echo "C:\Program Files (x86)\Microsoft Visual Studio\2022\Enterprise\VC\Tools\Llvm\x64\bin" >> $GITHUB_PATH + shell: bash + - if: ${{ !contains(matrix.host_os, 'windows') }} run: | mk/cargo.sh test -vv --target=${{ matrix.target }} ${{ matrix.cargo_options }} ${{ matrix.features }} ${{ matrix.mode }} diff --git a/Cargo.toml b/Cargo.toml index 462997d0..b66e516d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -61,10 +61,13 @@ untrusted = "0.9" [dev-dependencies] base64 = "0.9.1" -rcgen = { version = "0.11.3", default-features = false } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" +# XXX: rcgen cannot build on this target because it depends on *ring* 0.16 which doens't support it. +[target.'cfg(not(all(target_arch = "aarch64", target_os = "windows")))'.dev-dependencies] +rcgen = { version = "0.11.3", default-features = false } + [profile.bench] opt-level = 3 debug = false diff --git a/src/verify_cert.rs b/src/verify_cert.rs index 2c243141..8ac7bafe 100644 --- a/src/verify_cert.rs +++ b/src/verify_cert.rs @@ -416,6 +416,8 @@ where Err(Error::UnknownIssuer.into()) } +// XXX: See comment about rcgen dev-dependency in Cargo.toml. +#[cfg(not(all(target_arch = "aarch64", target_os = "windows")))] #[cfg(feature = "alloc")] #[cfg(test)] mod tests {