Skip to content

Merge branch 'main' into lazy-enum-wrapper #1581

Merge branch 'main' into lazy-enum-wrapper

Merge branch 'main' into lazy-enum-wrapper #1581

Workflow file for this run

name: Rust
on:
push:
branches: [ '**' ]
pull_request:
branches: [ "main" ]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Build
run: cargo build --verbose --no-default-features
- name: Build (cached)
run: cargo build --verbose --no-default-features --features cached,cpu
- name: Build (stack)
run: cargo build --verbose --no-default-features --features stack,cpu
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run tests
run: cargo test --verbose --no-default-features --features cpu
test-modules:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run tests,fork
run: cargo test --verbose --no-default-features --features cpu,fork
- name: Run tests,autograd
run: cargo test --verbose --no-default-features --features cpu,autograd
- name: Run tests,lazy
run: cargo test --verbose --no-default-features --features cpu,lazy
- name: Run tests,cached,fork
run: cargo test --verbose --no-default-features --features cpu,cached,fork
- name: Run graph
run: cargo test --verbose --no-default-features --features cpu,graph
- name: Run cached
run: cargo test --verbose --no-default-features --features cpu,cached
test-cached:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run 'cached' tests
run: cargo test --verbose --no-default-features --features cached,cpu
# test-opt-cache:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: actions-rs/toolchain@v1
# with:
# profile: minimal
# toolchain: stable
# - uses: Swatinem/rust-cache@v1
# - name: Run 'opt-cache' tests
# run: cargo test --verbose --no-default-features --features opt-cache,cpu
test-stack:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run 'stack' tests
run: cargo test --no-default-features --features stack,cpu
test-untyped:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run 'untyped' device tests
run: cargo test --no-default-features --features untyped,half
test-static-api:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run 'static-api' tests
run: cargo test --no-default-features --features static-api,cpu
test-autograd:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run 'autograd' tests
run: cargo test --no-default-features --features autograd,cpu,macro
test-no-std:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run 'no-std' tests
run: cargo test --no-default-features --features no-std
test-half:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run 'half' tests
run: cargo test --no-default-features --features cpu,half
- name: Run 'half' tests
run: cargo test --no-default-features --features half,std
miri:
name: "Miri"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Miri
run: |
rustup toolchain install nightly --component miri
rustup override set nightly
cargo miri setup
- name: Test with Miri
run: cargo miri test --no-default-features --features cpu
# - name: Test 'opt-cache' with Miri
# run: cargo miri test --no-default-features --features opt-cache,cpu
- name: Test 'stack' with Miri
run: cargo miri test --no-default-features --features stack,cpu
- name: Test 'static-api' with Miri
run: cargo miri test --no-default-features --features static-api,cpu
- name: Test 'autograd' with Miri
run: cargo miri test --no-default-features --features autograd,cpu,macro
- name: Test 'lazy' with Miri
run: cargo miri test --no-default-features --features lazy,cpu,macro
# bench:
#
# runs-on: ubuntu-latest
#
# steps:
# - uses: actions/checkout@v4
#
# - uses: actions-rs/toolchain@v1
# with:
# profile: minimal
# toolchain: stable
#
# - uses: Swatinem/rust-cache@v1
#
# - name: Run benchmarks
# run: cargo bench --verbose --no-default-features