Only trigger web build from releases on master #936
Workflow file for this run
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: Test | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
# This uses the toolchain defined in rust-toolchain | |
jobs: | |
fmt: | |
name: "Rustfmt" | |
runs-on: ubuntu-latest | |
env: | |
# Rustfmt requires a nightly toolchain because we use unstable rules. The | |
# chosen version is fairly arbitrary | |
TOOLCHAIN: nightly-2024-04-20 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
with: | |
toolchain: ${{env.TOOLCHAIN}} | |
components: rustfmt | |
cache: true | |
- name: Rustfmt Check | |
uses: actions-rust-lang/rustfmt@v1 | |
lint: | |
name: Check/Lint - ${{ matrix.platform.name }} | |
strategy: | |
fail-fast: false | |
matrix: | |
# Run linting on every platform to make sure we didn't break any builds. | |
# This is a subset of the Rust targets we support, just one per OS. | |
platform: | |
- name: Linux | |
os: ubuntu-latest | |
target: x86_64-unknown-linux-gnu | |
- name: Windows | |
os: windows-latest | |
target: x86_64-pc-windows-msvc | |
- name: macOS | |
os: macOS-latest | |
target: aarch64-apple-darwin | |
runs-on: ${{ matrix.platform.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Cache Rust files | |
uses: swatinem/rust-cache@v2 | |
with: | |
key: ${{ matrix.platform.target }} | |
- name: Install toolchain | |
run: rustup target add ${{ matrix.platform.target }} | |
- name: Run Clippy | |
run: cargo clippy --target ${{ matrix.platform.target }} --all-targets --all-features -- -D clippy::all | |
doc: | |
name: Check Docs | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Cache Rust files | |
uses: swatinem/rust-cache@v2 | |
- name: Doc | |
run: cargo doc --no-deps --all-features --document-private-items | |
env: | |
RUSTDOCFLAGS: -D warnings | |
test: | |
name: Test - ${{ matrix.platform.name }} | |
strategy: | |
fail-fast: false | |
matrix: | |
# Run tests on every platform. This is a subset of the Rust targets we | |
# support, just one per OS. | |
platform: | |
- name: Linux | |
os: ubuntu-latest | |
target: x86_64-unknown-linux-gnu | |
- name: Windows | |
os: windows-latest | |
target: x86_64-pc-windows-msvc | |
- name: macOS | |
os: macOS-latest | |
target: aarch64-apple-darwin | |
runs-on: ${{ matrix.platform.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Cache Rust files | |
uses: swatinem/rust-cache@v2 | |
with: | |
key: ${{ matrix.platform.target }} | |
- name: Install toolchain | |
run: rustup target add ${{ matrix.platform.target }} | |
- name: Run tests | |
run: cargo test --workspace |