|
@@ -0,0 +1,54 @@
|
|
|
|
|
+name: Unit tests
|
|
|
|
|
+
|
|
|
|
|
+on:
|
|
|
|
|
+ push:
|
|
|
|
|
+ branches: [ master ]
|
|
|
|
|
+ paths:
|
|
|
|
|
+ - '.github/workflows/*'
|
|
|
|
|
+ - 'src/**'
|
|
|
|
|
+ - 'Cargo.*'
|
|
|
|
|
+ - build.rs
|
|
|
|
|
+ pull_request:
|
|
|
|
|
+ branches: [ master ]
|
|
|
|
|
+ paths:
|
|
|
|
|
+ - '.github/workflows/*'
|
|
|
|
|
+ - 'src/**'
|
|
|
|
|
+ - 'Cargo.*'
|
|
|
|
|
+ - build.rs
|
|
|
|
|
+
|
|
|
|
|
+env:
|
|
|
|
|
+ CARGO_TERM_COLOR: always
|
|
|
|
|
+
|
|
|
|
|
+jobs:
|
|
|
|
|
+ unit-tests:
|
|
|
|
|
+ runs-on: ${{ matrix.os }}
|
|
|
|
|
+
|
|
|
|
|
+ continue-on-error: ${{ matrix.rust == 'nightly' }}
|
|
|
|
|
+
|
|
|
|
|
+ strategy:
|
|
|
|
|
+ matrix:
|
|
|
|
|
+ os: [ubuntu-latest, macos-latest]
|
|
|
|
|
+ rust: [1.63.0, stable, beta, nightly]
|
|
|
|
|
+
|
|
|
|
|
+ steps:
|
|
|
|
|
+ - name: Checkout repository
|
|
|
|
|
+ uses: actions/checkout@v2
|
|
|
|
|
+
|
|
|
|
|
+ - name: Install Rust toolchain
|
|
|
|
|
+ uses: actions-rs/toolchain@v1
|
|
|
|
|
+ with:
|
|
|
|
|
+ profile: minimal
|
|
|
|
|
+ toolchain: ${{ matrix.rust }}
|
|
|
|
|
+ override: true
|
|
|
|
|
+
|
|
|
|
|
+ - name: Install cargo-hack
|
|
|
|
|
+ uses: actions-rs/cargo@v1
|
|
|
|
|
+ with:
|
|
|
|
|
+ command: install
|
|
|
|
|
+ args: cargo-hack
|
|
|
|
|
+
|
|
|
|
|
+ - name: Run unit tests
|
|
|
|
|
+ uses: actions-rs/cargo@v1
|
|
|
|
|
+ with:
|
|
|
|
|
+ command: hack
|
|
|
|
|
+ args: test --feature-powerset
|