[go: up one dir, main page]

sysinfo 0.15.11

Library to get system information such as processes, processors, disks, components and networks
Documentation
on:
  push:
    branches: [master]
  pull_request:

name: CI

jobs:
  rustfmt:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true
          components: rustfmt
      - run: cargo fmt -- --check

  clippy:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os:
          - ubuntu-latest
          - macos-latest
          - windows-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: nightly
          override: true
          components: clippy
      - run: cargo clippy -- -D warnings

  check:
    name: Check ${{ matrix.toolchain }} / ${{ matrix.triple.target }}
    runs-on: ${{ matrix.triple.os }}
    strategy:
      fail-fast: false
      matrix:
        triple:
          - { os: 'ubuntu-latest',  target: 'x86_64-unknown-linux-gnu', cross: false }
          - { os: 'ubuntu-latest',  target: 'i686-unknown-linux-gnu',   cross: true }
          - { os: 'macos-latest',   target: 'x86_64-apple-darwin',      cross: false }
          - { os: 'windows-latest', target: 'x86_64-pc-windows-msvc',   cross: false }
          ## iOS
          - { os: 'macos-latest', target: 'aarch64-apple-ios', cross: false }
          # x86_64 testing blocked on https://github.com/actions-rs/toolchain/issues/16
          ## ARM64
          - { os: 'ubuntu-latest', target: 'aarch64-unknown-linux-gnu',  cross: true }
          - { os: 'ubuntu-latest', target: 'aarch64-unknown-linux-musl', cross: true }
          ## ARMv7
          - { os: 'ubuntu-latest', target: 'armv7-unknown-linux-gnueabihf',  cross: true }
          - { os: 'ubuntu-latest', target: 'armv7-unknown-linux-musleabihf', cross: true }
          ## ARMv6
          - { os: 'ubuntu-latest', target: 'arm-unknown-linux-gnueabihf',  cross: true }
          - { os: 'ubuntu-latest', target: 'arm-unknown-linux-musleabihf', cross: true }
        toolchain:
          - "1.45.0"  # minimum supported rust version
          - stable
          - beta
          - nightly
    steps:
      - uses: actions/checkout@v2
      - name: Install toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.toolchain }}
          override: true
          # x86_64 testing blocked on https://github.com/actions-rs/toolchain/issues/16
          # This only adds the extra target toolchain. This target will only be built for
          # during its specified matrix job.
          target: aarch64-apple-ios

      - name: Check
        uses: actions-rs/cargo@v1
        with:
          command: check
          args: --target=${{ matrix.triple.target }} --manifest-path=Cargo.toml
          use-cross: ${{ matrix.triple.cross }}

  tests:
    needs: [check]
    name: Test ${{ matrix.os }} (rust ${{matrix.toolchain}})
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os:
          - ubuntu-latest
          - macos-latest
          - windows-latest
        toolchain:
          - "1.45.0"  # minimum supported rust version
          - stable
          - beta
          - nightly
    steps:
      - uses: actions/checkout@v2
      - name: Install toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: ${{ matrix.toolchain }}
          override: true
      - name: Execute tests (not mac)
        run: cargo test
        if: matrix.os != 'macos-latest'
        env:
          RUST_BACKTRACE: full
      - name: Execute tests (mac)
        run: cargo test -- --test-threads 1
        if: matrix.os == 'macos-latest'
        env:
          RUST_BACKTRACE: full
      - name: Execute tests (not mac, no features)
        run: cargo test --no-default-features
        if: matrix.os != 'macos-latest'
        env:
          RUST_BACKTRACE: full
      - name: Execute tests (mac, no features)
        run: cargo test --no-default-features -- --test-threads 1
        if: matrix.os == 'macos-latest'
        env:
          RUST_BACKTRACE: full