Skip to content

ci: clearer check labels and dependency vulnerability scanners#1218

Open
MoonBoi9001 wants to merge 3 commits into
mainfrom
mb9/workflow-refactor
Open

ci: clearer check labels and dependency vulnerability scanners#1218
MoonBoi9001 wants to merge 3 commits into
mainfrom
mb9/workflow-refactor

Conversation

@MoonBoi9001
Copy link
Copy Markdown
Member

TL;DR

Rewrites the CI workflow surface so every check label says what it actually runs. Splits the catch-all lint job into prettier, eslint, typecheck. Adds two dependency vulnerability scanners and fixes a latent bug where the CLI Docker image was being published from every PR build.

Motivation

The PR check list today reads "Check Formatting / check" and "CI / build (20, ubuntu-22.04)". The first hides three tools — prettier, eslint, tsc — behind one green or red dot, so a reviewer cannot tell which one flagged the violation. The second is named "CI" but actually runs the jest test suite, which confuses contributors who expect "CI" to mean something more generic. Nothing automatically scans yarn.lock for known vulnerable dependencies today, and the CLI image workflow publishes to GHCR from every PR build via a hard-coded push flag. The label cleanup is a natural moment to close both gaps.

Summary

  • Renames check-formatting.yml to lint.yml; splits into prettier, eslint, typecheck jobs.
  • Renames ci.yml to tests.yml; matrix job displays as tests / node 20 and tests / node 22.
  • Merges the image workflows into docker-build.yml with agent and cli jobs.
  • Replaces the CLI workflow's hard-coded push: true with the agent's PR-exclusion conditional.
  • Adds audit.yml running yarn audit --level high so high or critical CVE findings block merge.
  • Adds osv-scanner.yml running OSV against yarn.lock for a second vulnerability database.
  • Extends codeql-analysis.yml to PRs targeting main-dips, bumps its action versions.
  • Bumps actions/checkout and actions/setup-node to v4 across rewritten workflows; adds yarn caching.
  • Unifies install style: every workflow uses yarn install --frozen-lockfile.

After merge the PR check list reads audit / yarn-audit, codeql / analyze, docker build / agent (amd64|arm64), docker build / cli, lint / eslint|prettier|typecheck, osv-scanner / scan, tests / node 20|22.

Generated with Claude Code

Workflow names and job IDs now describe what each check actually runs.
Lint splits into prettier, eslint, typecheck so failures point at the
specific tool. CodeQL extends to PRs targeting main-dips. CLI image
no longer pushes from PR builds.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-project-automation github-project-automation Bot moved this to 🗃️ Inbox in Indexer May 15, 2026
MoonBoi9001 and others added 2 commits May 15, 2026 23:25
Quote \$GITHUB_ENV to silence SC2086, and add a disable directive plus
a short explanation for the two intentional unquoted substitutions in
the manifest creation (both rely on word-splitting to expand into
multiple shell args).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The previous reference resolved nothing: the runnable action lives in
the osv-scanner-action subdir of the repo (not actions/osv-scanner),
and the project publishes patch tags only — no moving @v2 tag exists.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@MoonBoi9001 MoonBoi9001 requested a review from tmigone May 15, 2026 16:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 🗃️ Inbox

Development

Successfully merging this pull request may close these issues.

1 participant