Had a real dependency-audit gate (npm audit --audit-level=high) but no secret scan. trufflehog's Action is Docker-based and cannot run on this repo's existing windows-latest runner (needed for the Windows desktop app's own browser/quality tests), so this adds it as a separate, parallel ubuntu-latest job rather than inserting it into the Windows job where it would break CI - the last gap for this repo to count as fully-authored.
39 lines
937 B
YAML
39 lines
937 B
YAML
name: ForgeFlow quality gate
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
jobs:
|
|
secret-scan:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Secret scan
|
|
uses: trufflesecurity/trufflehog@v3.79.0
|
|
with:
|
|
path: ./
|
|
extra_args: --only-verified
|
|
|
|
quality:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 22
|
|
cache: npm
|
|
- run: npm ci
|
|
- run: npm run quality
|
|
- run: npx playwright install --with-deps chromium
|
|
- run: npm run test:browser:ci
|
|
- name: Preserve browser failure evidence
|
|
if: failure()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: forgeflow-browser-failure-evidence
|
|
path: artifacts/
|
|
if-no-files-found: ignore
|
|
- run: npm audit --omit=dev --audit-level=high
|