Skip to content

Merge branch 'master' into dependabot/cargo/comrak-0.48.0 #504

Merge branch 'master' into dependabot/cargo/comrak-0.48.0

Merge branch 'master' into dependabot/cargo/comrak-0.48.0 #504

Workflow file for this run

name: Rust CI
on:
push:
pull_request:
schedule:
- cron: "0 0 * * *"
env:
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: 0
# See: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#concurrency.
# This will ensure that only one commit will be running tests at a time on each PR.
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
jobs:
build:
# Run on external PRs and pushes to branches on the repo
# This is to avoid double running on PRs from internal branches
if: github.event_name == 'push' || github.event_name == 'schedule' || github.event.pull_request.head.repo.full_name != github.repository
strategy:
matrix:
rust: [stable, nightly]
os: [ubuntu-latest]
name: Build & test
runs-on: ${{ matrix.os }}
steps:
- name: Checkout source
uses: actions/checkout@v6
with:
submodules: recursive
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- name: Cache Cargo registry
uses: Swatinem/rust-cache@v2
- name: Build
run: cargo +${{ matrix.rust }} build
- name: Test docs
run: cargo +${{ matrix.rust }} test
clippy:
if: github.event_name == 'push' || github.event_name == 'schedule' || github.event.pull_request.head.repo.full_name != github.repository
name: Clippy lint checks
runs-on: ubuntu-latest
needs: ["build"]
steps:
- name: Checkout source
uses: actions/checkout@v6
with:
submodules: recursive
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: clippy
- name: Cache Cargo registry
uses: Swatinem/rust-cache@v2
- name: Run clippy
run: cargo clippy --no-deps --
rustfmt:
if: github.event_name == 'push' || github.event_name == 'schedule' || github.event.pull_request.head.repo.full_name != github.repository
name: Code formatting checks
runs-on: ubuntu-latest
needs: ["build"]
steps:
- name: Checkout source
uses: actions/checkout@v6
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly
components: rustfmt
- name: Cache Cargo registry
uses: Swatinem/rust-cache@v2
- name: Run fmt
run: cargo fmt --all -- --check
machete:
if: github.event_name == 'push' || github.event_name == 'schedule' || github.event.pull_request.head.repo.full_name != github.repository
name: Machete dependencies checks
runs-on: ubuntu-latest
needs: ["build"]
steps:
- name: Checkout source
uses: actions/checkout@v6
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- name: Cache Cargo registry
uses: Swatinem/rust-cache@v2
- name: Run cargo-machete
uses: bnjbvr/[email protected]