Skip to content

refactor(logging): unify debug logging into a single stderr dbg_log! macro #200

refactor(logging): unify debug logging into a single stderr dbg_log! macro

refactor(logging): unify debug logging into a single stderr dbg_log! macro #200

Workflow file for this run

---
name: Extended CI
on:
push:
branches: [main]
paths: [Cargo.toml, Cargo.lock, "**/*.rs", .github/workflows/ci-extended.yml]
pull_request:
branches: [main]
paths: [Cargo.toml, Cargo.lock, "**/*.rs", .github/workflows/ci-extended.yml]
schedule:
# Weekly: exercise the slower, normally-#[ignore]d functional suite so it
# can't silently rot between releases.
- cron: "0 5 * * 1"
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
jobs:
msrv:
name: MSRV (rust-version in Cargo.toml)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Read MSRV from Cargo.toml
id: msrv
run: |
rv=$(grep -m1 '^rust-version' Cargo.toml | sed 's/.*=//; s/[" ]//g')
echo "version=$rv" >> "$GITHUB_OUTPUT"
echo "Declared MSRV: $rv"
- name: Install pinned MSRV toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ steps.msrv.outputs.version }}
- name: Build at MSRV (locked deps)
run: cargo +${{ steps.msrv.outputs.version }} build --locked --all-targets
ignored-tests:
name: Ignored / functional tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@stable
- name: Run normally-ignored tests
# --include-ignored runs the normally-skipped functional suite. The
# four detection-coverage *benchmark* tests are excluded by name:
# they assert detection-rate targets the scanner does not yet meet
# (see their `#[ignore = "benchmark: ..."]` reasons) and are tracked
# separately, so they must not gate CI. The --skip patterns are
# substrings chosen to match only those four:
# realworld -> test_realworld_xss_scenarios, _by_category
# category_baselines -> test_query_reflection_category_baselines_v2
# test_query_reflection_v2 -> that exact test (not the _diverse/_advanced variants)
# No --all-targets: it would try to run the bench-shaped probe files
# as benchmarks, which fails.
run: |
cargo test -- --include-ignored \
--skip realworld \
--skip category_baselines \
--skip test_query_reflection_v2