Skip to content

Test in different worker types and Node.js #151

Test in different worker types and Node.js

Test in different worker types and Node.js #151

Workflow file for this run

name: Lint
on:
push:
branches: ["main"]
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
jobs:
clippy:
name:
Clippy ${{ matrix.target.description }} ${{ matrix.rust.description }} ${{
matrix.features.description }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target:
- { target: x86_64-unknown-linux-gnu, description: Native }
- { target: wasm32-unknown-unknown, description: Web }
- { target: wasm32v1-none, description: Wasm v1 }
rust:
- { version: stable, atomics: false }
- { version: nightly, atomics: false }
- {
version: nightly,
description: with Atomics,
atomics: true,
component: ",rust-src",
flags: "-Ctarget-feature=+atomics,+bulk-memory",
build-std: true,
}
features:
- { features: "", no_std: false }
- { features: --features serde, no_std: false, description: (`serde`) }
- { features: --no-default-features, no_std: true, description: (`no_std`) }
- {
features: --no-default-features --features serde,
no_std: true,
description: "(`no_std`, `serde`)",
}
exclude:
- target: { target: x86_64-unknown-linux-gnu, description: Native }
rust: { version: nightly }
- target: { target: wasm32-unknown-unknown, description: Web }
rust: { version: nightly, atomics: false }
- target: { target: wasm32v1-none, description: Wasm v1 }
rust: { version: stable }
- target: { target: wasm32v1-none, description: Wasm v1 }
features: { no_std: false }
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust
run: |
rustup toolchain install ${{ matrix.rust.version }} --profile minimal --component clippy${{ matrix.rust.component }} --allow-downgrade --target ${{ matrix.target.target }}
rustup default ${{ matrix.rust.version }}
- name: Set `build-std` components
if: matrix.rust.build-std == true && matrix.features.no_std == false
run: echo "BUILD_STD_COMPONENTS=-Zbuild-std=panic_abort,std" >> $GITHUB_ENV
- name: Set `build-std` `no_std` components
if: matrix.rust.build-std == true && matrix.features.no_std == true
run: echo "BUILD_STD_COMPONENTS=-Zbuild-std=core,alloc" >> $GITHUB_ENV
- name: Run Clippy
env:
RUSTFLAGS: ${{ matrix.rust.flags }}
run:
cargo clippy --workspace --all-targets ${{ matrix.features.features }} --target ${{
matrix.target.target }} $BUILD_STD_COMPONENTS -- -D warnings
rustdoc:
name:
Rustdoc ${{ matrix.target.description }} ${{ matrix.rust.description }} ${{
matrix.features.description }} ${{ matrix.docsrs.description }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
target:
- { target: x86_64-unknown-linux-gnu, description: Native }
- { target: wasm32-unknown-unknown, description: Web }
- { target: wasm32v1-none, description: Wasm v1 }
rust:
- { version: stable, atomics: false }
- { version: nightly, atomics: false }
- {
version: nightly,
description: with Atomics,
atomics: true,
component: --component rust-src,
flags: "-Ctarget-feature=+atomics,+bulk-memory",
build-std: true,
}
features:
- { features: "", no_std: false }
- { features: --features serde, no_std: false, description: (`serde`) }
- { features: --no-default-features, no_std: true, description: (`no_std`) }
- {
features: --no-default-features --features serde,
no_std: true,
description: "(`no_std`, `serde`)",
}
docsrs:
- { flags: "", nightly: false }
- { description: (docs.rs), flags: --cfg=docsrs, nightly: true }
exclude:
- docsrs: { flags: --cfg=docsrs, nightly: true }
rust: { version: stable }
- target: { target: x86_64-unknown-linux-gnu, description: Native }
rust: { atomics: true }
- target: { target: x86_64-unknown-linux-gnu, description: Native }
docsrs: { flags: "", nightly: false }
rust: { version: nightly }
- target: { target: wasm32-unknown-unknown, description: Web }
docsrs: { flags: "", nightly: false }
rust: { version: nightly, atomics: false }
- target: { target: wasm32v1-none, description: Wasm v1 }
rust: { version: stable }
- target: { target: wasm32v1-none, description: Wasm v1 }
features: { no_std: false }
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust
run: |
rustup toolchain install ${{ matrix.rust.version }} --profile minimal ${{ matrix.rust.component }} --target ${{ matrix.target.target }}
rustup default ${{ matrix.rust.version }}
- name: Set `build-std` components
if: matrix.rust.build-std == true && matrix.features.no_std == false
run: echo "BUILD_STD_COMPONENTS=-Zbuild-std=panic_abort,std" >> $GITHUB_ENV
- name: Set `build-std` `no_std` components
if: matrix.rust.build-std == true && matrix.features.no_std == true
run: echo "BUILD_STD_COMPONENTS=-Zbuild-std=core,alloc" >> $GITHUB_ENV
- name: Run Rustdoc
env:
RUSTFLAGS: ${{ matrix.rust.flags }}
RUSTDOCFLAGS: -D warnings ${{ matrix.rust.flags }} ${{ matrix.docsrs.flags }}
run:
cargo doc --workspace --no-deps --document-private-items --lib --examples ${{
matrix.features.features }} --target ${{ matrix.target.target }} $BUILD_STD_COMPONENTS