Skip to content

Add macOS CI runner #867

Add macOS CI runner

Add macOS CI runner #867

Workflow file for this run

name: CI
on:
push:
branches: [ '*' ]
pull_request:
branches: [ '*' ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
jobs:
Linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Download large files
working-directory: ./models
run: ./download.sh CI
- name: Add llvm-tools-preview
run: rustup component add llvm-tools-preview
- name: Install grcov
run: cargo install grcov
- name: Install dependencies
run: sudo apt install libomp-dev
- name: Install poetry
run: curl -sSL https://install.python-poetry.org | python3 -
- name: Test
run: |
cargo test --release
ALTIUS_ENABLE_CLIF=1 cargo test --release
env:
RUSTFLAGS: -Cinstrument-coverage
LLVM_PROFILE_FILE: coverage-%p-%m.profraw
- name: Run examples
run: |
(cd crates/altius-py && poetry run python deit.py)
(cd crates/altius-py && poetry run python resnet50.py)
(cd crates/altius-py && poetry run python export_vit.py)
cargo run --release --example mnist
cargo run --release --example mobilenet
cargo run --release --example deit
cargo run --release --example mnist_cpu
cargo run --release --example mobilenet_cpu
cargo run --release --example deit_cpu
cargo run --release --example vit_cpu
cargo run --release --example vit
cargo run --release --example infer -- ./models/mnist-8.onnx
env:
RUSTFLAGS: -Cinstrument-coverage
LLVM_PROFILE_FILE: coverage-%p-%m.profraw
- name: Submit coverage
run: |
mkdir -p /tmp/cov/
cp -rf ./target/release/* /tmp/cov/
grcov . --binary-path /tmp/cov/ -s . -t cobertura --branch --ignore-not-existing --ignore "*cargo*" -o coverage.xml
bash <(curl -s https://codecov.io/bash)
env:
RUSTFLAGS: -Cinstrument-coverage
LLVM_PROFILE_FILE: coverage-%p-%m.profraw
macOS:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Download large files
working-directory: ./models
run: ./download.sh CI
- name: Add llvm-tools-preview
run: rustup component add llvm-tools-preview
- name: Install grcov
run: cargo install grcov
- name: Install dependencies
run: brew install libomp
- name: Install poetry
run: curl -sSL https://install.python-poetry.org | python3 -
- name: Test
run: |
cargo test --release
ALTIUS_ENABLE_CLIF=1 cargo test --release
env:
RUSTFLAGS: -Cinstrument-coverage
LLVM_PROFILE_FILE: coverage-%p-%m.profraw
- name: Run examples
run: |
(cd crates/altius-py && poetry run python deit.py)
(cd crates/altius-py && poetry run python resnet50.py)
(cd crates/altius-py && poetry run python export_vit.py)
cargo run --release --example mnist
cargo run --release --example mobilenet
cargo run --release --example deit
cargo run --release --example mnist_cpu
cargo run --release --example mobilenet_cpu
cargo run --release --example deit_cpu
cargo run --release --example vit_cpu
cargo run --release --example vit
cargo run --release --example infer -- ./models/mnist-8.onnx
env:
RUSTFLAGS: -Cinstrument-coverage
LLVM_PROFILE_FILE: coverage-%p-%m.profraw
# - name: Submit coverage
# run: |
# mkdir -p /tmp/cov/
# cp -rf ./target/release/* /tmp/cov/
# grcov . --binary-path /tmp/cov/ -s . -t cobertura --branch --ignore-not-existing --ignore "*cargo*" -o coverage.xml
# bash <(curl -s https://codecov.io/bash)
# env:
# RUSTFLAGS: -Cinstrument-coverage
# LLVM_PROFILE_FILE: coverage-%p-%m.profraw