Skip to content

Commit

Permalink
CI: Test all the non-wasm32 targets that *ring*'s CI tests.
Browse files Browse the repository at this point in the history
In particular, add testing on aarch64-apple-darwin.
  • Loading branch information
briansmith committed Dec 6, 2023
1 parent 1f74481 commit 1ca0709
Showing 1 changed file with 79 additions and 10 deletions.
89 changes: 79 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,14 +113,24 @@ jobs:
- --all-features

target:
# There is no platform-specific code in webpki. Choose a handful of
# platforms mostly to smoketest that the build machinery in mk/ is
# portable.
# Specifically choose `aarch64-pc-windows-msvc` since it was new in
# *ring* 0.17.
- aarch64-apple-ios
- aarch64-apple-darwin
- aarch64-linux-android
- aarch64-pc-windows-msvc
- arm-unknown-linux-gnueabihf
- aarch64-unknown-linux-gnu
- aarch64-unknown-linux-musl
- arm-unknown-linux-gnueabi
- armv7-linux-androideabi
- armv7-unknown-linux-musleabihf
- i686-pc-windows-msvc
- i686-unknown-linux-gnu
- i686-unknown-linux-musl
- powerpc-unknown-linux-gnu
- riscv64gc-unknown-linux-gnu
- wasm32-wasi
- x86_64-pc-windows-gnu
- x86_64-pc-windows-msvc
- x86_64-apple-darwin
- x86_64-unknown-linux-musl
- x86_64-unknown-linux-gnu

Expand All @@ -130,24 +140,74 @@ jobs:

rust_channel:
- stable
# Keep in sync with Cargo.toml and similar `rust_channel` sections.
- 1.61.0 # MSRV
- nightly

- 1.61.0

- beta

include:
- target: aarch64-apple-darwin
host_os: macos-13-xlarge

- target: aarch64-apple-ios
host_os: macos-13
# TODO: Run in the emulator.
cargo_options: --no-run

- target: aarch64-linux-android
host_os: ubuntu-22.04
# TODO: https://github.com/briansmith/ring/issues/486
cargo_options: --no-run

- 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
- target: aarch64-unknown-linux-gnu
host_os: ubuntu-22.04

- target: aarch64-unknown-linux-musl
host_os: ubuntu-22.04

- target: arm-unknown-linux-gnueabi
host_os: ubuntu-22.04

- target: armv7-linux-androideabi
host_os: ubuntu-22.04
# TODO: https://github.com/briansmith/ring/issues/838
cargo_options: --no-run

- target: armv7-unknown-linux-musleabihf
host_os: ubuntu-22.04

- target: i686-pc-windows-msvc
host_os: windows-latest

- target: i686-unknown-linux-gnu
host_os: ubuntu-22.04

- target: i686-unknown-linux-musl
host_os: ubuntu-22.04

- target: powerpc-unknown-linux-gnu
host_os: ubuntu-22.04

- target: riscv64gc-unknown-linux-gnu
host_os: ubuntu-22.04

- target: wasm32-wasi
host_os: ubuntu-22.04

- target: x86_64-pc-windows-gnu
host_os: windows-latest

- target: x86_64-pc-windows-msvc
host_os: windows-latest

- target: x86_64-apple-darwin
host_os: macos-13

- target: x86_64-unknown-linux-musl
host_os: ubuntu-22.04

Expand All @@ -168,6 +228,9 @@ jobs:
- if: ${{ !contains(matrix.host_os, 'windows') }}
run: mk/install-build-tools.sh --target=${{ matrix.target }} ${{ matrix.features }}

- if: ${{ contains(matrix.host_os, 'windows') }}
run: ./mk/install-build-tools.ps1

- 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
Expand All @@ -191,6 +254,12 @@ jobs:
run: |
cargo +${{ matrix.rust_channel }} test -vv -p rcgen-tests --target=${{ matrix.target }} ${{ matrix.cargo_options }} ${{ matrix.features }} ${{ matrix.mode }}
# --all-targets doesn't run doctests: https://github.com/rust-lang/cargo/issues/6669
# Run doctests only on x86_64 to avoid cross-compilation hassles with `--no-run`.
- if: ${{ !contains(matrix.host_os, 'windows') && contains(matrix.target, 'x86_64') }}
run: |
mk/cargo.sh +${{ matrix.rust_channel }} test -vv --doc --target=${{ matrix.target }} ${{ matrix.cargo_options }} ${{ matrix.features }} ${{ matrix.mode }}
coverage:
runs-on: ${{ matrix.host_os }}

Expand Down

0 comments on commit 1ca0709

Please sign in to comment.