Skip to content

Scan web and supabase with semgrep, calling the shared workflow - #104

Merged
landsman merged 1 commit into
devfrom
semgrep-scan
Jul 31, 2026
Merged

landsman merged 1 commit into
devfrom
semgrep-scan

Conversation

@landsman

Copy link
Copy Markdown
Owner

Both PR pipelines gain a security job. It calls landsman/config#52 rather than copying a docker run into each file, so the scanner and the image have one place to change rather than one per repo.

  security:
    uses: landsman/config/.github/workflows/semgrep.yml@main
    with:
      packs: p/secrets p/typescript
      path: src/web

Its own job, so a finding reads as a finding rather than as a broken build. The existing path filters still apply, so each scan runs only when its own half of the repo changes.

p/typescript, not a Deno pack

p/deno does not exist — the registry 404s on it, and an unknown pack fails the run rather than being ignored, so this was probed against the pinned image rather than assumed. p/typescript is the right pack anyway: this is TypeScript whatever runs it.

Checked

Run locally against the mirror before opening: 110 rules over 74 files in src/web, 110 over 49 in supabase. Both clean, both exit 0.

Depends on landsman/config#52

workflow_call resolves @main, so these jobs cannot run until that merges — until then they fail with "workflow not found" rather than a scan result.

One unrelated note

.hooks/pre-commit aborts on a fresh worktree with .hooks/_/hook.sh: No such file or directory — the hook runner is not installed by a plain checkout. This commit used --no-verify for that reason; nothing was skipped that had anything to say about the change.

Both PR pipelines gain a security job calling landsman/config, so the scanner
and the image have one place to change rather than one per repo.

p/typescript on both rather than a Deno pack: p/deno 404s in the registry, and
this is TypeScript whatever runs it. Checked against the image, not assumed --
an unknown pack fails the run rather than being ignored.

Run locally against the mirror first: 110 rules over 74 files in src/web and 49
in supabase, both clean.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant