name: CI on: pull_request: push: branches: - master env: RUST_BACKTRACE: 1 CARGO_TERM_COLOR: always jobs: ci-pass: name: CI is green runs-on: ubuntu-latest needs: - msrv - test-linux - test-macos - test-windows - build-cross - test-cgroups steps: - run: exit 0 msrv: runs-on: ubuntu-latest strategy: matrix: rust: - 1.13 target: - x86_64-unknown-linux-gnu steps: - uses: actions/checkout@v2 - name: Run tests run: | rustup default ${{ matrix.rust }} rustup target add ${{ matrix.target }} cargo test --verbose --target ${{ matrix.target }} test-linux: runs-on: ubuntu-latest strategy: matrix: rust: - stable - beta - nightly target: - x86_64-unknown-linux-gnu - x86_64-unknown-linux-musl steps: - uses: actions/checkout@v2 - name: Run tests run: | rustup default ${{ matrix.rust }} rustup target add ${{ matrix.target }} cargo test --verbose --target ${{ matrix.target }} test-macos: runs-on: macos-latest strategy: matrix: rust: - stable - beta - nightly target: - x86_64-apple-darwin steps: - uses: actions/checkout@v2 - name: Run tests run: | rustup default ${{ matrix.rust }} rustup target add ${{ matrix.target }} cargo test --verbose --target ${{ matrix.target }} test-windows: runs-on: windows-latest strategy: matrix: rust: - stable - beta - nightly target: - x86_64-pc-windows-gnu - x86_64-pc-windows-msvc steps: - uses: actions/checkout@v2 - name: Run tests run: | rustup default ${{ matrix.rust }} rustup target add ${{ matrix.target }} cargo test --verbose --target ${{ matrix.target }} build-cross: runs-on: ubuntu-latest strategy: matrix: rust: - stable target: - aarch64-unknown-linux-gnu - i686-pc-windows-gnu - i686-pc-windows-msvc - i686-unknown-linux-gnu - aarch64-apple-darwin - aarch64-pc-windows-msvc - aarch64-unknown-linux-musl - arm-unknown-linux-gnueabi - arm-unknown-linux-gnueabihf - armv7-unknown-linux-gnueabihf - mips-unknown-linux-gnu - mips64-unknown-linux-gnuabi64 - mips64el-unknown-linux-gnuabi64 - mipsel-unknown-linux-gnu - powerpc-unknown-linux-gnu - powerpc64-unknown-linux-gnu - powerpc64le-unknown-linux-gnu - riscv64gc-unknown-linux-gnu - s390x-unknown-linux-gnu - x86_64-unknown-freebsd - x86_64-unknown-illumos - x86_64-unknown-netbsd - i686-linux-android - x86_64-linux-android - arm-linux-androideabi - aarch64-linux-android - x86_64-apple-ios - asmjs-unknown-emscripten - aarch64-apple-ios - aarch64-apple-ios-sim - aarch64-apple-darwin steps: - uses: actions/checkout@v2 - name: Run build run: | rustup default ${{ matrix.rust }} rustup target add ${{ matrix.target }} cargo build --verbose --target ${{ matrix.target }} test-cgroups: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Test Cgroup run: | docker build -f ci/cgroups/Dockerfile -t num-cpus-cgroups . # Test without cgroups docker run -e NUM_CPUS_TEST_GET=2 num-cpus-cgroups # Only 1 CPU docker run --cpus="1" -e NUM_CPUS_TEST_GET=1 num-cpus-cgroups # 1.5 CPUs docker run --cpus="1.5" -e NUM_CPUS_TEST_GET=2 num-cpus-cgroups