diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..aab4196 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,55 @@ +name: ci +on: [push, pull_request] + +jobs: + unit-test: + name: Cargo build & test + runs-on: ubuntu-latest + strategy: + matrix: + rust: + - 1.64.0 + - 1.65.0 + - 1.66.1 + - 1.67.1 + - 1.68.2 + - 1.69.0 + - 1.70.0 + - 1.71.0 + - stable + - beta + - nightly + steps: + - uses: actions/checkout@v3 + - name: Install Rust ${{ matrix.rust }} + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ matrix.rust }} + override: true + profile: minimal + - name: Run cargo build + uses: actions-rs/cargo@v1 + with: + command: build + args: --verbose --all-features + - name: Run cargo test + uses: actions-rs/cargo@v1 + with: + command: test + args: --verbose --all-features + cargo-fmt: + name: Cargo fmt + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + components: rustfmt + - name: Rustfmt Check + uses: actions-rust-lang/rustfmt@v1 + cargo-deny: + name: Cargo deny + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: EmbarkStudios/cargo-deny-action@v1