name: Rust
on: [push, pull_request]
jobs:
build:
strategy:
matrix:
toolchain: ["1.34.0", "1.42.0", "stable", "beta", "nightly"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install toolchains
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.toolchain }}
- name: Pin hex and bitflags
if: matrix.toolchain == '1.34.0' || matrix.toolchain == '1.42.0'
run: |
cargo +${{ matrix.toolchain }} update
cargo +${{ matrix.toolchain }} update --manifest-path procfs-tests/Cargo.toml
cargo +${{ matrix.toolchain }} update -p hex --precise 0.4.2
cargo +${{ matrix.toolchain }} update -p bitflags --precise 1.2.1
cargo +${{ matrix.toolchain }} update -p flate2 --precise 1.0.21
cargo +${{ matrix.toolchain }} update --manifest-path procfs-tests/Cargo.toml -p bitflags --precise 1.2.1
- name: Build
run: cargo +${{ matrix.toolchain }} build --verbose
- name: Run tests
run: cargo +${{ matrix.toolchain }} test --verbose -- --skip _runsinglethread
- name: Run tests (single-threaded tests)
run: cargo +${{ matrix.toolchain }} test --verbose -- _runsinglethread --test-threads 1
- name: Run more tests
if: matrix.toolchain != '1.34.0'
run: cargo +${{ matrix.toolchain }} test -p --manifest-path procfs-tests/Cargo.toml -p procfs-tests
- name: Build docs (all features)
if: matrix.toolchain != '1.34.0'
run: cargo +${{ matrix.toolchain }} doc --all-features
- name: Build docs
if: matrix.toolchain == '1.34.0'
run: cargo +${{ matrix.toolchain }} doc
check:
strategy:
matrix:
toolchain: ["1.42.0", "stable", "beta", "nightly"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install toolchains (aarch64)
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.toolchain }}
target: aarch64-linux-android
- name: Install toolchains (i686)
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.toolchain }}
target: i686-unknown-linux-gnu
- name: Pin hex and bitflags
if: matrix.toolchain == '1.42.0'
run: |
cargo +${{ matrix.toolchain }} update
cargo +${{ matrix.toolchain }} update -p hex --precise 0.4.2
cargo +${{ matrix.toolchain }} update -p bitflags --precise 1.2.1
- name: cargo check (aarch64)
run: cargo +${{ matrix.toolchain }} check --target aarch64-linux-android
- name: cargo check (i686)
run: cargo +${{ matrix.toolchain }} check --target i686-unknown-linux-gnu