chore(cargo): add log to dev-deps #26
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
# Trigger the workflow on push and pull requests to the main branch | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
env: | |
CARGO_TERM_COLOR: always | |
RUSTFLAGS: --deny warnings | |
RUSTDOCFLAGS: --deny warnings | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
toolchain: [stable, nightly] | |
feature-set: [default, missing_auto_plugin_is_compile_error] | |
steps: | |
# Checkout the repository | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
# Install Rust for the selected toolchain | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.toolchain }} | |
override: true | |
# Run tests with the specified feature set | |
- name: Run tests | |
if: ${{ matrix.toolchain == 'nightly' || matrix.feature-set == 'default' }} | |
run: | | |
echo "Testing with ${{ matrix.toolchain }} and features: ${{ matrix.toolchain }},${{ matrix.feature-set }}" | |
cargo test --features "${{ matrix.toolchain }},${{ matrix.feature-set }}" | |
doc-test: | |
runs-on: ubuntu-latest | |
steps: | |
# Checkout the repository | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
# Install Rust with nightly toolchain | |
- name: Install Rust (nightly) | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
# Compile documentation with nightly | |
- name: Compile Rust documentation | |
run: | | |
echo "Compiling Rust documentation" | |
cargo +nightly doc --features=nightly --no-deps | |
rustfmt: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install Rust (nightly) | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
- name: Install rustfmt | |
run: | | |
echo "Installing rustfmt for nightly" | |
rustup component add rustfmt --toolchain nightly | |
- name: Run rustfmt | |
run: | | |
echo "Checking code formatting with rustfmt (nightly)" | |
cargo +nightly fmt --all -- --check | |
clippy: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install Rust (nightly) | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
- name: Install clippy | |
run: | | |
echo "Installing clippy for nightly" | |
rustup component add clippy --toolchain nightly | |
- name: Run clippy | |
run: | | |
echo "Running clippy for lint checks (nightly)" | |
cargo +nightly clippy --all-targets --all-features -- -D warnings |