Tracking PR for v0.10.0 release #4970
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: | |
- main | |
pull_request: | |
types: [opened, reopened, synchronize] | |
jobs: | |
check: | |
name: Check Rust ${{matrix.toolchain}} on ${{matrix.os}} with ${{matrix.args}} | |
runs-on: ${{matrix.os}}-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
toolchain: [stable, nightly] | |
os: [ubuntu] | |
args: [--all-targets --no-default-features, --all-targets, --all-targets --all-features] | |
steps: | |
- uses: actions/checkout@main | |
- name: Install rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{matrix.toolchain}} | |
override: true | |
- name: Check | |
uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: ${{matrix.args}} | |
test: | |
name: Test Rust ${{matrix.toolchain}} on ${{matrix.os}} with ${{matrix.args}} | |
runs-on: ${{matrix.os}}-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
toolchain: [stable, nightly] | |
os: [ubuntu] | |
args: [--profile test-release, --profile test-release --doc] | |
steps: | |
- uses: actions/checkout@main | |
- name: Install rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{matrix.toolchain}} | |
override: true | |
- name: Test | |
uses: actions-rs/cargo@v1 | |
env: | |
RUSTFLAGS: -C debug-assertions | |
with: | |
command: test | |
args: ${{matrix.args}} --features "internals" | |
# we separate the script so the CI will not require the same runner to have | |
# both windows and linux capabilities | |
test-windows: | |
name: Test Rust nightly on windows-2022 | |
# run windows check only when the target is `main`. will execute for release, push or PR. | |
if: github.ref_name == 'main' | |
runs-on: windows-2022 | |
strategy: | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@main | |
- name: Install rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
- name: Test | |
uses: actions-rs/cargo@v1 | |
env: | |
RUSTFLAGS: -C debug-assertions | |
with: | |
command: test | |
args: --release --features "internals" | |
clippy: | |
name: Clippy | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@main | |
- name: Install minimal stable with clippy | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
components: clippy | |
override: true | |
- name: Clippy | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: --all -- -D clippy::all -D warnings | |
rustfmt: | |
name: rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@main | |
- name: Install minimal stable with rustfmt | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
components: rustfmt | |
override: true | |
- name: rustfmt | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
no-std: | |
name: no-std | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
toolchain: [stable, nightly] | |
target: | |
- wasm32-unknown-unknown | |
steps: | |
- uses: actions/checkout@main | |
- name: Install rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: ${{matrix.toolchain}} | |
override: true | |
- run: rustup target add wasm32-unknown-unknown | |
- name: Build | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --verbose --no-default-features --target ${{ matrix.target }} |