Skip to content

fix: Port pykeio/ort#218 #18

fix: Port pykeio/ort#218

fix: Port pykeio/ort#218 #18

Workflow file for this run

name: Run cargo tests
on:
workflow_dispatch:
push:
branches:
- 'main'
paths:
- '.github/workflows/test.yml'
- 'src/**/*.rs'
- 'ort-sys/**/*.rs'
- 'build.rs'
- 'Cargo.toml'
- '.cargo/**/*'
- 'tests/**/*'
pull_request:
paths:
- '.github/workflows/test.yml'
- 'src/**/*.rs'
- 'ort-sys/**/*.rs'
- '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
shell: bash
run: |
# ONNX Runtimeの静的リンクをやめているため、Windowsではdoctestを無効化する
[ "$RUNNER_OS" = Windows ] && targets=--tests || targets=
cargo test -p voicevox-ort --verbose --features fetch-models "$targets" -- --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
test-wasm:
name: Test WebAssembly
runs-on: ubuntu-latest
if: false # WASM版はまだ提供しないため、テストもしない
steps:
- uses: actions/checkout@v4
- name: Install nightly Rust toolchain
uses: dtolnay/rust-toolchain@nightly
- name: Install wasm-pack
run: cargo install wasm-pack
- name: Run tests
working-directory: examples/webassembly
run: |
wasm-pack test --node
# 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