refactor(scanner): eliminate self-scan suppressions #30
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: CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| - master | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| report-app: | |
| name: report app | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Install Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| cache-dependency-path: web/report-app/package-lock.json | |
| - name: Install dependencies | |
| working-directory: web/report-app | |
| run: npm ci | |
| - name: Run report app tests | |
| working-directory: web/report-app | |
| run: npm test | |
| - name: Build report app | |
| working-directory: web/report-app | |
| run: npm run build | |
| - name: Check embedded assets | |
| run: git diff --exit-code -- assets/report-app.js assets/report-app.css | |
| - name: Install Playwright Chromium | |
| working-directory: web/report-app | |
| run: npx playwright install --with-deps chromium | |
| - name: Run report app browser tests | |
| working-directory: web/report-app | |
| run: npm run test:e2e | |
| - name: Upload browser test report | |
| if: ${{ !cancelled() }} | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: report-app-playwright | |
| path: | | |
| web/report-app/playwright-report | |
| target/playwright/test-results | |
| if-no-files-found: ignore | |
| retention-days: 7 | |
| documentation: | |
| name: documentation | |
| runs-on: ubuntu-latest | |
| env: | |
| MDBOOK_VERSION: 0.5.4 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache Cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Install mdBook | |
| run: cargo install mdbook --version "$MDBOOK_VERSION" --locked | |
| - name: Build documentation and sample | |
| run: sh scripts/build-docs.sh target/docs-site | |
| lint: | |
| name: fmt and clippy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy, rustfmt | |
| - name: Cache Cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Check formatting | |
| run: cargo fmt --all -- --check | |
| - name: Run clippy | |
| run: cargo clippy --locked --all-targets --all-features -- -D warnings | |
| test: | |
| name: test (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - windows-latest | |
| - macos-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache Cargo | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Run tests | |
| run: cargo test --locked --all-targets --all-features | |
| - name: Build | |
| run: cargo build --locked | |
| - name: Smoke test JSON output | |
| run: cargo run --locked -- scan . --output json --progress never --color never |