From 214fb184fdba639642ecf1fdef7a78388d4e08a7 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Wed, 5 May 2021 18:18:27 +0200 Subject: Add github action for CI Signed-off-by: Matthias Beyer --- .github/workflows/ci.yml | 89 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..55cafc2 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,89 @@ +on: [push] + +name: CI + +jobs: + cargo-deny: + name: cargo-deny + runs-on: ubuntu-latest + strategy: + matrix: + checks: + - advisories + - bans licenses sources + + # Prevent sudden announcement of a new advisory from failing ci: + continue-on-error: ${{ matrix.checks == 'advisories' }} + + steps: + - uses: actions/checkout@v2 + - uses: EmbarkStudios/cargo-deny-action@v1 + with: + command: check ${{ matrix.checks }} + + check: + needs: [cargo-deny] + name: Check + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.50.0 + - stable + - beta + + steps: + - name: Checkout sources + uses: actions/checkout@v2 + + - name: Install toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ matrix.rust }} + override: true + + - name: Run cargo check + uses: actions-rs/cargo@v1 + with: + command: check + + test: + needs: [check] + name: Test Suite + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.50.0 + - stable + - beta + steps: + - name: Checkout sources + uses: actions/checkout@v2 + + - name: Install toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ matrix.rust }} + override: true + + - name: Run cargo test + uses: actions-rs/cargo@v1 + with: + command: test + args: --all --all-features + + lint: + needs: [check] + name: Lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions-rs/toolchain@v1 + with: + toolchain: 1.50.0 + override: true + - run: rustup component add clippy + - name: cargo clippy + run: cargo clippy --all --all-targets --all-features -- -D warnings + -- cgit v1.2.3