Files
wakey/.github/workflows/rust.yml
T
2025-11-24 10:43:47 +01:00

83 lines
2.1 KiB
YAML

name: Rust
on:
pull_request:
branches:
- master
push:
branches:
- master
jobs:
test:
name: test
runs-on: ubuntu-latest
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.12.1
with:
access_token: ${{ github.token }}
- name: Checkout Sources
uses: actions/checkout@v6
- name: Install Toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
- name: Rust Cache
uses: Swatinem/rust-cache@v2.8.1
- name: Run tests
run: cargo test --verbose
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.12.1
with:
access_token: ${{ github.token }}
- name: Checkout Sources
uses: actions/checkout@v6
- name: Install Toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
- name: Install Clippy
run: rustup component add clippy
- name: Install RustFmt
run: rustup component add rustfmt
- name: Rust Cache
uses: Swatinem/rust-cache@v2.8.1
- name: Run format check
run: cargo fmt --all --check
- name: Run clippy
run: cargo clippy --all --all-targets -- -D warnings
build:
name: Build
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, ubuntu-24.04-arm]
rv: [stable, beta, nightly]
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.12.1
with:
access_token: ${{ github.token }}
- name: Checkout Sources
uses: actions/checkout@v6
- name: Install Toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rv }}
- name: Rust Cache
uses: Swatinem/rust-cache@v2.8.1
- name: Cargo Build
uses: actions-rs/cargo@v1
with:
command: build