-
-
Notifications
You must be signed in to change notification settings - Fork 100
86 lines (86 loc) · 2.7 KB
/
test.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
name: Run 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-12
- os: macos-14
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