Implement eigenvalue and eigenvector computation #1508
Workflow file for this run
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: CI | |
on: [push, pull_request] | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- run: rustup update --no-self-update stable | |
- run: rustup default stable | |
# make sure all code has been formatted with rustfmt and linted with clippy | |
- name: rustfmt | |
run: cargo fmt -- --check --color always | |
# run clippy to verify we have no warnings | |
- run: cargo fetch | |
- name: cargo clippy | |
run: cargo clippy --workspace --all-targets --all-features -- -D warnings | |
# check that codegen output matches committed source files | |
- name: codegen | |
run: cargo run --release -p codegen -- --check | |
- name: Build-test documentation | |
env: | |
RUSTDOCFLAGS: -Dwarnings | |
run: cargo doc --all --all-features --no-deps --document-private-items --features rkyv/size_32 | |
test: | |
name: Test | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
toolchain: [stable, beta, nightly] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- run: rustup update --no-self-update ${{ matrix.toolchain }} | |
- run: rustup default ${{ matrix.toolchain }} | |
- run: ./build_and_test_features.sh | |
shell: bash | |
check-msrv: | |
name: Check MSRV | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
toolchain: [1.68.2] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- run: rustup update --no-self-update ${{ matrix.toolchain }} | |
- run: rustup default ${{ matrix.toolchain }} | |
- run: ./build_all_msrv.sh | |
shell: bash | |
test-core-simd: | |
name: Test portable simd | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
toolchain: [nightly] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- run: rustup update --no-self-update ${{ matrix.toolchain }} | |
- run: rustup default ${{ matrix.toolchain }} | |
- run: cargo test --features core-simd | |
shell: bash | |
test-wasm: | |
name: Test wasm | |
strategy: | |
matrix: | |
toolchain: [stable] | |
os: [ubuntu-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install | |
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh | |
- run: ./build_and_test_wasm32_firefox.sh | |
- run: ./build_and_test_wasm32_chrome.sh | |
# macos-latest uses aarch64 so using cross shouldn't be necessary anymore | |
# test-arm: | |
# name: Test Arm | |
# runs-on: ubuntu-latest | |
# strategy: | |
# fail-fast: false | |
# matrix: | |
# target: | |
# - aarch64-unknown-linux-gnu | |
# - arm-unknown-linux-gnueabi | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - run: rustup update --no-self-update stable | |
# - run: rustup default stable | |
# - run: rustup target add --toolchain stable ${{matrix.target}} | |
# - uses: taiki-e/install-action@cross | |
# - run: cross test --target ${{matrix.target}} |