Update version #134
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests | |
on: [push, pull_request] | |
env: | |
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse # Should improve the speed of the build and the cache size. | |
ZSTD_CLEVEL: 10 # We want some tradeoff between speed and size | |
ZSTD_NBTHREADS: 2 # We only got 2 cores | |
jobs: | |
check: | |
name: Check | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
- name: Install toolchain | |
id: rust-toolchain | |
uses: dtolnay/rust-toolchain@stable | |
- name: Set up cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
key: ${{ matrix.target }} | |
- name: Install protoc | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: protoc | |
- name: Run cargo check | |
uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --tests | |
test: | |
name: Test Suite | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ ubuntu-latest, macos-latest, windows-latest ] | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
- name: Install toolchain | |
id: rust-toolchain | |
uses: dtolnay/rust-toolchain@stable | |
- name: Set up cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
key: ${{ matrix.target }} | |
- name: Install protoc | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: protoc | |
- name: Run cargo test regular features | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
- name: Run cargo test no asm | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --features=no-asm | |
- name: Run cargo test with parking_lot | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --features parking_lot | |
- name: Run cargo test shuttle | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --features=shuttle | |
test-release: | |
name: Test Suite Release | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ ubuntu-latest, macos-latest, windows-latest ] | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
- name: Install toolchain | |
id: rust-toolchain | |
uses: dtolnay/rust-toolchain@stable | |
- name: Set up cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
key: ${{ matrix.target }} | |
- name: Install protoc | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: protoc | |
- name: Run cargo test release regular features | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --release | |
- name: Run cargo test release no asm | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --features=no-asm --release | |
- name: Run cargo test release with parking_lot | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --features=parking_lot --release | |
- name: Run cargo test release shuttle | |
uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
args: --no-default-features --features=shuttle --release | |
lints: | |
name: Lints | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
- name: Install toolchain | |
id: rust-toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
components: rustfmt, clippy | |
- name: Set up cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
key: ${{ matrix.target }} | |
- name: Install protoc | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: protoc | |
- name: Run cargo fmt | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
- name: Run cargo clippy | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: --tests -- -D warnings |