ci(...): add CI for aarch64 linux, --no-default-features
, and custo…
#482
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 🧪 Cargo Tests | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- 'main' | |
paths: | |
- '.github/workflows/test.yml' | |
- 'src/**/*.rs' | |
- 'examples/**/*' | |
- 'ort-sys/**/*.rs' | |
- 'ort-sys/**/dist.txt' | |
- 'build.rs' | |
- 'Cargo.toml' | |
- '.cargo/**/*' | |
- 'tests/**/*' | |
pull_request: | |
paths: | |
- '.github/workflows/test.yml' | |
- 'src/**/*.rs' | |
- 'examples/**/*' | |
- 'ort-sys/**/*.rs' | |
- 'ort-sys/**/dist.txt' | |
- 'build.rs' | |
- 'Cargo.toml' | |
- '.cargo/**/*' | |
- 'tests/**/*' | |
env: | |
RUST_BACKTRACE: 1 | |
CARGO_INCREMENTAL: 0 | |
CARGO_PROFILE_DEV_DEBUG: 0 | |
jobs: | |
test: | |
name: Run tests | |
runs-on: ${{ matrix.platform.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: | |
- os: ubuntu-latest | |
- os: windows-latest | |
- os: macos-13 | |
- os: macos-15 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install stable Rust toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: stable | |
- uses: Swatinem/rust-cache@v1 | |
- name: Run tests | |
run: | | |
cargo test -p ort --verbose --features fetch-models -- --test-threads 1 | |
# Test examples that use in-tree graphs (do NOT run any of the examples that download ~700 MB graphs from pyke parcel...) | |
cargo run --example custom-ops | |
# Disable cross-compile until cross updates aarch64-unknown-linux-gnu to Ubuntu 22.04 | |
# ref https://github.com/cross-rs/cross/pull/973 | |
#cross-compile: | |
# name: Cross-platform compile | |
# runs-on: ${{ matrix.platform.os }} | |
# needs: [test] | |
# strategy: | |
# fail-fast: false | |
# matrix: | |
# platform: | |
# - target: aarch64-unknown-linux-gnu | |
# os: ubuntu-latest | |
# command: test | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - name: Fix ring dependency for Windows ARM64 | |
# if: matrix.platform.target == 'aarch64-pc-windows-msvc' | |
# shell: pwsh | |
# run: | | |
# @('', '[patch.crates-io]', | |
# 'ring = { git = "https://github.com/awakecoding/ring", branch = "0.16.20_alpha" }') | % { | |
# Add-Content -Path "Cargo.toml" -Value $_ | |
# } | |
# $VSINSTALLDIR = $(vswhere.exe -latest -requires Microsoft.VisualStudio.Component.VC.Llvm.Clang -property installationPath) | |
# $VCINSTALLDIR = Join-Path $VSINSTALLDIR "VC" | |
# $LLVM_ROOT = Join-Path $VCINSTALLDIR "Tools\Llvm\x64" | |
# echo "PATH=$Env:PATH;${LLVM_ROOT}\bin" >> $Env:GITHUB_ENV | |
# - name: Build/test | |
# run: | | |
# cargo install cross --git https://github.com/cross-rs/cross | |
# cross test -p ort --features fetch-models --target aarch64-unknown-linux-gnu -v |