chore: Update to baptiste0928/cargo-install@v2 (#1349) #1994
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: CI | |
on: | |
push: | |
branches: | |
- master | |
pull_request: {} | |
jobs: | |
rustfmt: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: hecrj/setup-rust-action@v1 | |
with: | |
components: rustfmt | |
- run: cargo fmt --all --check | |
udeps: | |
name: Check unused dependencies | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
include: | |
- os: windows-latest | |
option: --exclude-features uds | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@nightly | |
- uses: taiki-e/install-action@cargo-hack | |
- uses: taiki-e/install-action@cargo-udeps | |
- name: Install protoc | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: [email protected] | |
- uses: Swatinem/rust-cache@v2 | |
- run: cargo hack udeps --workspace --each-feature ${{ matrix.option }} | |
check: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
rust: [stable] | |
env: | |
RUSTFLAGS: "-D warnings" | |
steps: | |
- uses: hecrj/setup-rust-action@v1 | |
with: | |
rust-version: ${{ matrix.rust }} | |
- uses: actions/checkout@v3 | |
- name: Install cargo-hack | |
uses: baptiste0928/cargo-install@v2 | |
with: | |
crate: cargo-hack | |
- name: Install protoc | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: [email protected] | |
- uses: Swatinem/rust-cache@v2 | |
- name: Check features | |
run: cargo hack check --all --ignore-private --each-feature --no-dev-deps | |
- name: Check all targets | |
run: cargo check --all --all-targets --all-features | |
check-docs: | |
name: check docs | |
runs-on: ubuntu-latest | |
env: | |
RUSTFLAGS: "-D warnings" | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install protoc | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: [email protected] | |
- uses: hecrj/setup-rust-action@v1 | |
with: | |
rust-version: "1.63" | |
- uses: Swatinem/rust-cache@v2 | |
- name: cargo doc | |
run: cargo doc --workspace --no-deps --exclude examples | |
deny-check: | |
name: cargo-deny check | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: EmbarkStudios/cargo-deny-action@v1 | |
msrv: | |
name: Check MSRV | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- uses: hecrj/setup-rust-action@v1 | |
with: | |
rust-version: "1.63" | |
- name: Install protoc | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: [email protected] | |
- name: Check | |
run: cargo check --all --all-targets --all-features | |
test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
rust: [stable] | |
env: | |
RUSTFLAGS: "-D warnings" | |
# run a lot of quickcheck iterations | |
QUICKCHECK_TESTS: 1000 | |
steps: | |
- uses: hecrj/setup-rust-action@v1 | |
with: | |
rust-version: ${{ matrix.rust }} | |
- name: Install protoc | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: [email protected] | |
- uses: Swatinem/rust-cache@v2 | |
- uses: actions/checkout@v3 | |
- name: Run tests | |
run: cargo test --all --all-features | |
interop: | |
name: Interop Tests | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
rust: [stable] | |
env: | |
RUSTFLAGS: "-D warnings" | |
steps: | |
- uses: hecrj/setup-rust-action@v1 | |
with: | |
rust-version: ${{ matrix.rust }} | |
- uses: actions/checkout@v3 | |
- name: Install protoc | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: [email protected] | |
- uses: Swatinem/rust-cache@v2 | |
- name: Run interop tests | |
run: ./interop/test.sh | |
shell: bash | |
- name: Run interop tests with Rustls | |
run: ./interop/test.sh --use_tls tls_rustls | |
shell: bash |