aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/rust.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/rust.yml')
-rw-r--r--.github/workflows/rust.yml82
1 files changed, 82 insertions, 0 deletions
diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml
new file mode 100644
index 0000000..1377b3e
--- /dev/null
+++ b/.github/workflows/rust.yml
@@ -0,0 +1,82 @@
+name: CI
+
+on:
+ push:
+ branches: ['master']
+ pull_request:
+
+jobs:
+ test:
+ strategy:
+ matrix:
+ os: [ubuntu-latest, macos-latest, windows-latest]
+ rust: [stable, beta]
+ exclude:
+ - os: macos-latest
+ rust: beta
+ - os: windows-latest
+ rust: beta
+
+ runs-on: ${{ matrix.os }}
+
+ steps:
+ - uses: actions/checkout@v1
+ - uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: ${{ matrix.rust }}
+ override: true
+ - uses: actions-rs/cargo@v1
+ with:
+ command: build
+ args: --workspace --all-targets
+ - uses: actions-rs/cargo@v1
+ with:
+ command: test
+ args: --workspace
+
+ stable-integrations:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v1
+ - uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: stable
+ override: true
+ - run: |
+ cd testing
+ cargo test --features full
+
+ nightly:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v1
+ - uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: nightly
+ override: true
+ - run: |
+ cd testing
+ cargo test --features with-rocket
+
+ lint:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v1
+ - uses: actions-rs/toolchain@v1
+ with:
+ profile: minimal
+ toolchain: stable
+ override: true
+ components: rustfmt, clippy
+ - uses: actions-rs/cargo@v1
+ with:
+ command: fmt
+ args: --all -- --check
+ - uses: actions-rs/cargo@v1
+ if: always()
+ with:
+ command: clippy
+ args: --workspace --all-targets -- -D warnings