procfs 0.12.0

Interface to the linux procfs pseudo-filesystem
Documentation
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