summaryrefslogtreecommitdiff
path: root/.github/workflows/ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/ci.yml')
-rw-r--r--.github/workflows/ci.yml120
1 files changed, 120 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..7bf4d5e
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,120 @@
+on:
+ push:
+ pull_request:
+ schedule:
+ - cron: '0 0 * * *'
+
+name: Continuous integration
+
+jobs:
+ check:
+ name: Check
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ rust:
+ - stable
+ - 1.56.0
+ steps:
+ - uses: actions/checkout@v1
+ - uses: actions-rs/toolchain@v1
+ with:
+ toolchain: ${{ matrix.rust }}
+ override: true
+ - uses: actions-rs/cargo@v1
+ with:
+ command: check
+
+ test:
+ name: Test Suite
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ rust:
+ - stable
+ - nightly
+ steps:
+ - uses: actions/checkout@v1
+ - uses: actions-rs/toolchain@v1
+ with:
+ toolchain: ${{ matrix.rust }}
+ override: true
+ - uses: Swatinem/rust-cache@v1
+ - name: Install cargo-nextest
+ uses: baptiste0928/cargo-install@v1
+ with:
+ crate: cargo-nextest
+ version: 0.9
+ - uses: actions-rs/cargo@v1
+ with:
+ command: nextest
+ args: run
+ - uses: actions-rs/cargo@v1
+ with:
+ command: nextest
+ args: run --no-default-features
+ - uses: actions-rs/cargo@v1
+ with:
+ command: test
+ args: --doc
+
+ test-msrv:
+ name: msrv Test Suite
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ rust:
+ - 1.56.0
+ steps:
+ - uses: actions/checkout@v1
+ - uses: actions-rs/toolchain@v1
+ with:
+ toolchain: ${{ matrix.rust }}
+ override: true
+ - uses: Swatinem/rust-cache@v1
+ - uses: actions-rs/cargo@v1
+ with:
+ command: test
+ - uses: actions-rs/cargo@v1
+ with:
+ command: test
+ args: --no-default-features
+
+ fmt:
+ name: Rustfmt
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ rust:
+ - stable
+ - 1.56.0
+ steps:
+ - uses: actions/checkout@v1
+ - uses: actions-rs/toolchain@v1
+ with:
+ toolchain: ${{ matrix.rust }}
+ override: true
+ - run: rustup component add rustfmt
+ - uses: actions-rs/cargo@v1
+ with:
+ command: fmt
+ args: --all -- --check
+
+ clippy:
+ name: Clippy
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ rust:
+ - stable
+ steps:
+ - uses: actions/checkout@v1
+ - uses: actions-rs/toolchain@v1
+ with:
+ toolchain: ${{ matrix.rust }}
+ override: true
+ - run: rustup component add clippy
+ - uses: actions-rs/cargo@v1
+ with:
+ command: clippy
+ args: -- -D warnings