diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2022-11-08 15:19:18 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2022-11-08 15:19:18 +0100 |
commit | 6c4a4e33c2a2939d67e10f5bcc6c181c2879c2e9 (patch) | |
tree | 032c929a94a81ee8e6d87cbae0f24e9b2f48c9e0 | |
parent | 72703678e30cd7b4c6fd065046a8c67a9eb9b9ee (diff) |
Add CI workflow
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r-- | .github/workflows/ci.yml | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..f862d27 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,111 @@ +name: CI + +on: + push: + branches: [master, staging, trying, release-*] + pull_request: + branches: [master, release-*] + +env: + CARGO_TERM_COLOR: always + +jobs: + check: + name: check + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.60.0 + - stable + - beta + # - nightly + + steps: + - name: Checkout sources + uses: actions/checkout@v3 + - name: Install toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ matrix.rust }} + override: true + - uses: swatinem/rust-cache@v1 + - name: cargo-check + uses: actions-rs/cargo@v1 + with: + command: check + + + fmt: + name: format + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - uses: actions-rs/toolchain@v1 + with: + toolchain: 1.60.0 + - run: rustup component add rustfmt + - name: cargo-fmt + uses: actions-rs/cargo@v1 + with: + command: fmt + args: -- --check + + + test: + name: test + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.60.0 + - stable + - beta + # - nightly + steps: + - name: Checkout sources + uses: actions/checkout@v3 + - name: Install toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ matrix.rust }} + override: true + - uses: swatinem/rust-cache@v1 + - name: cargo-test + uses: actions-rs/cargo@v1 + with: + command: test + args: --all --all-features + + + clippy: + name: clippy + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions-rs/toolchain@v1 + with: + toolchain: 1.60.0 + override: true + - uses: swatinem/rust-cache@v1 + - run: rustup component add clippy + - name: cargo-clippy + run: cargo clippy --all --all-targets --all-features -- -D warnings + + + # We need some "accummulation" job here because bors fails (timeouts) to + # listen on matrix builds. + # Hence, we have some kind of dummy here that bors can listen on + ci-success: + name: CI + if: ${{ success() }} + needs: + - check + - clippy + - fmt + - test + runs-on: ubuntu-latest + steps: + - name: CI succeeded + run: exit 0 |