Skip to content

Update Dependancies #46

Update Dependancies

Update Dependancies #46

Workflow file for this run

name: Rust CI
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
lint:
name: Lint
strategy:
matrix:
os:
- ubuntu-latest
- macos-latest
toolchain:
- stable
- beta
- nightly
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.toolchain != 'stable' }}
steps:
- name: Checkout Source
uses: actions/checkout@v4
- name: Install Stable Rust Toolchain
if: matrix.toolchain == 'stable'
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- name: Install Beta Rust Toolchain
if: matrix.toolchain == 'beta'
uses: dtolnay/rust-toolchain@beta
with:
components: rustfmt, clippy
- name: Install Nightly Rust Toolchain
if: matrix.toolchain == 'nightly'
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt, clippy
- name: Setup Rust Cache
uses: Swatinem/rust-cache@v2
- name: Display Toolchain Information
run: |
cargo --version --verbose
rustc --version --verbose
cargo clippy --version
- name: Format Check
run: |
cargo fmt -- --check
- name: Lint
run: |
cargo clippy -- -D warnings
- name: Dry Publish
uses: katyo/publish-crates@v2
with:
dry-run: true
ignore-unpublished-changes: true
test:
name: Test
strategy:
matrix:
os:
- ubuntu-latest
- macos-latest
features:
- default
- serde_debugging
toolchain:
- stable
- beta
- nightly
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.toolchain != 'stable' }}
steps:
- name: Checkout Source
uses: actions/checkout@v4
- name: Install Stable Rust Toolchain
if: matrix.toolchain == 'stable'
uses: dtolnay/rust-toolchain@stable
- name: Install Beta Rust Toolchain
if: matrix.toolchain == 'beta'
uses: dtolnay/rust-toolchain@beta
- name: Install Nightly Rust Toolchain
if: matrix.toolchain == 'nightly'
uses: dtolnay/rust-toolchain@nightly
- name: Setup Rust Cache
uses: Swatinem/rust-cache@v2
- name: Display Toolchain Information
run: |
cargo --version --verbose
rustc --version --verbose
- name: Test
if: matrix.features == 'default'
run: |
cargo check
cargo test --all
- name: Test
if: matrix.features != 'default'
run: |
cargo check --features ${{ matrix.features }}
cargo test --all --features ${{ matrix.features }}
- name: Build
if: matrix.features == 'default'
run: |
cargo build --release
- name: Build
if: matrix.features != 'default'
run: |
cargo build --release --features ${{ matrix.features }}