name: CI
on: [push, pull_request]
jobs:
build_and_test:
name: color-backtrace
runs-on: "${{ matrix.image_name }}"
strategy:
matrix:
image_name: ["macos-15", "windows-2025", "ubuntu-24.04"]
features: ["--all-features"]
include:
- image_name: "ubuntu-24.04"
features: "--no-default-features" - image_name: "ubuntu-24.04"
features: "--no-default-features --features use-btparse-crate"
steps:
- name: Clone
uses: actions/checkout@v3
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Build
run: cargo build ${{ matrix.features }}
- name: Test
run: cargo test ${{ matrix.features }}
fmt:
name: rustfmt
runs-on: "ubuntu-24.04"
steps:
- name: Clone
uses: actions/checkout@v3
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- name: Check formatting
run: cargo fmt --check
semver:
name: semver
runs-on: "ubuntu-24.04"
steps:
- name: Clone
uses: actions/checkout@v3
- name: Check public API against the previous release
uses: obi1kenobi/cargo-semver-checks-action@v2
with:
feature-group: all-features
msrv:
name: msrv
runs-on: "ubuntu-24.04"
strategy:
matrix:
features:
- "--no-default-features"
- "--no-default-features --features use-btparse-crate"
steps:
- name: Clone
uses: actions/checkout@v3
- name: Install Rust
uses: dtolnay/rust-toolchain@1.81.0
- name: Check
run: cargo check ${{ matrix.features }}