chore(deps)(deps-dev): bump typescript-eslint from 8.60.0 to 8.60.1 in /apps/ui in the lint group across 1 directory #275
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: security-deps | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - "apps/docs/**" | |
| - ".github/workflows/apps-docs-security-deps.yml" | |
| pull_request: | |
| branches: [main] | |
| schedule: | |
| - cron: "23 6 * * 1" | |
| concurrency: | |
| group: apps-docs-security-deps-security-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| security-events: write | |
| jobs: | |
| scan: | |
| name: dep vuln scan (osv + audit) | |
| defaults: | |
| run: | |
| working-directory: apps/docs | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| env: | |
| OSV_SCANNER_VERSION: "2.3.8" | |
| OSV_SCANNER_SHA256: "bc98e15319ed0d515e3f9235287ba53cdc5535d576d24fd573978ecfe9ab92dc" | |
| steps: | |
| - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 | |
| - name: Detect relevant changes | |
| uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1 | |
| id: filter | |
| with: | |
| filters: | | |
| code: | |
| - 'apps/docs/package.json' | |
| - 'apps/docs/bun.lock' | |
| - 'apps/docs/scripts/**' | |
| - '.github/workflows/apps-docs-security-deps.yml' | |
| - name: Install osv-scanner CLI | |
| if: steps.filter.outputs.code == 'true' | |
| run: | | |
| set -euo pipefail | |
| curl -sSL -o /tmp/osv-scanner \ | |
| "https://github.com/google/osv-scanner/releases/download/v${OSV_SCANNER_VERSION}/osv-scanner_linux_amd64" | |
| echo "${OSV_SCANNER_SHA256} /tmp/osv-scanner" | sha256sum -c - | |
| chmod +x /tmp/osv-scanner | |
| sudo mv /tmp/osv-scanner /usr/local/bin/ | |
| osv-scanner --version | |
| - name: Run osv-scanner | |
| if: steps.filter.outputs.code == 'true' | |
| run: | | |
| set +e | |
| osv-scanner \ | |
| --config=osv-scanner.toml \ | |
| --lockfile=bun.lock \ | |
| --format=sarif \ | |
| --output-file=osv-results.sarif | |
| echo "OSV_EXIT=$?" >> "$GITHUB_ENV" | |
| set -e | |
| - name: Upload osv SARIF | |
| if: always() | |
| uses: github/codeql-action/upload-sarif@7c1e4cf0b20d7c1872b26569c00ba908797a59bf # v4 | |
| with: | |
| sarif_file: osv-results.sarif | |
| category: osv-scanner-docs | |
| continue-on-error: true | |
| - name: Fail on osv findings | |
| if: steps.filter.outputs.code == 'true' | |
| run: | | |
| # osv-scanner exits non-zero whenever any vulnerability is found in | |
| # the lockfile, regardless of whether every finding was filtered | |
| # via osv-scanner.toml. We treat the SARIF as the source of truth: | |
| # if it has zero unfiltered results, the build passes. This keeps | |
| # the allowlist meaningful: only entries we have NOT documented | |
| # in osv-scanner.toml fail CI. | |
| if [ ! -f osv-results.sarif ]; then | |
| echo "osv-results.sarif missing: osv-scanner failed to write output." | |
| exit 1 | |
| fi | |
| UNFILTERED=$(jq -r '[.runs[].results[]?] | length' osv-results.sarif) | |
| echo "Unfiltered osv-scanner findings: ${UNFILTERED}" | |
| if [ "${UNFILTERED}" != "0" ]; then | |
| echo "osv-scanner reported ${UNFILTERED} unfiltered vulnerabilities. See SARIF in the Security tab." | |
| exit 1 | |
| fi | |
| # No bun audit step here: osv-scanner above with osv-scanner.toml is | |
| # the canonical "what we accept" allowlist for this docs repo. bun | |
| # audit can't reference the same allowlist (CVE IDs only, no GHSA | |
| # support), so it would always reintroduce noise. The docs site is a | |
| # static-site build with no runtime auth or user input. osv is | |
| # sufficient coverage. |