Skip to content

chore(deps): bump cpal from 0.16.0 to 0.17.0 #329

chore(deps): bump cpal from 0.16.0 to 0.17.0

chore(deps): bump cpal from 0.16.0 to 0.17.0 #329

Workflow file for this run

name: Rust CI
on:
push:
branches: [ main ] # Run on pushes to main
pull_request:
branches: [ main ] # Run on PRs targeting main
env:
CARGO_TERM_COLOR: always
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint_and_format:
name: Format & Lint Checks
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libasound2-dev pkg-config
- name: Install Rust toolchain (with rustfmt and clippy)
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy # Ensure rustfmt and clippy are installed
- name: Cache Cargo dependencies
uses: Swatinem/rust-cache@v2
with:
shared-key: "lint"
- name: Check formatting
# Check that all code in the workspace is correctly formatted
run: cargo fmt --all -- --check
- name: Run Clippy (Linter)
# Run Clippy on the entire workspace, for all targets, with all features.
# `-D warnings` turns Clippy warnings into errors.
run: cargo clippy --workspace --all-targets --all-features -- -D warnings
build_and_test_ubuntu:
name: Build & Test (Ubuntu)
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libasound2-dev pkg-config
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Set up sccache
uses: mozilla-actions/sccache-action@v0.0.9
- name: Enable sccache
run: |
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV
- name: Cache Cargo dependencies
uses: Swatinem/rust-cache@v2
with:
shared-key: "ubuntu"
- name: Install cargo-nextest
uses: taiki-e/install-action@nextest
- name: Build
# Build all targets in the workspace, with all features
run: cargo build --verbose --workspace --all-targets --all-features
- name: Run tests
# Run tests using cargo-nextest for faster execution
run: cargo nextest run --verbose --workspace --all-targets --all-features
build_and_test_windows:
name: Build & Test (Windows)
runs-on: windows-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Set up sccache
uses: mozilla-actions/sccache-action@v0.0.9
- name: Enable sccache
run: |
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV
- name: Cache Cargo dependencies
uses: Swatinem/rust-cache@v2
with:
shared-key: "windows"
- name: Install cargo-nextest
uses: taiki-e/install-action@nextest
- name: Build
run: cargo build --verbose --workspace --all-targets --all-features
- name: Run tests
# Run tests using cargo-nextest for faster execution
run: cargo nextest run --verbose --workspace --all-targets --all-features
build_and_test_macos:
name: Build & Test (macOS)
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Set up sccache
uses: mozilla-actions/sccache-action@v0.0.9
- name: Enable sccache
run: |
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV
- name: Cache Cargo dependencies
uses: Swatinem/rust-cache@v2
with:
shared-key: "macos"
- name: Install cargo-nextest
uses: taiki-e/install-action@nextest
- name: Build
run: cargo build --verbose --workspace --all-targets --all-features
- name: Run tests
# Run tests using cargo-nextest for faster execution
run: cargo nextest run --verbose --workspace --all-targets --all-features
# This job ensures all required checks pass before allowing merge
all_checks_pass:
name: All Checks Pass
runs-on: ubuntu-latest
needs: [lint_and_format, build_and_test_ubuntu, build_and_test_windows, build_and_test_macos]
steps:
- name: Mark as successful
run: echo "All required checks passed!"