fix(cli): make url/file/pipe subcommands respect an explicit -i/--input-type #206
Workflow file for this run
This file contains hidden or 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: 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 |