Skip to content

feat(action): preflight CI gate with annotations, summary, and outputs#101

Merged
yasserstudio merged 7 commits into
mainfrom
chore/launch-docs-and-socket-security
Jun 22, 2026
Merged

feat(action): preflight CI gate with annotations, summary, and outputs#101
yasserstudio merged 7 commits into
mainfrom
chore/launch-docs-and-socket-security

Conversation

@yasserstudio

@yasserstudio yasserstudio commented Jun 15, 2026

Copy link
Copy Markdown
Owner

Summary

  • Enhanced GitHub Action (uses: yasserstudio/gmc@v1) — when running preflight, the action now emits inline PR annotations pinned to source feed files, writes a job-summary findings table, and sets structured outputs (ok, scanned, errors, warnings, report)
  • Security hardening — annotation messages escaped for workflow-command injection; heredoc delimiter randomized; non-preflight shell path uses bash arrays + set -f to prevent shell/glob injection
  • Docs + Socket.dev — new action reference page, updated guide/README CI section, Socket supply-chain scanning workflow, and SECURITY.md

Test plan

  • 6 action runner tests pass (clean feed, bad feed + annotations, scanned count, JSON report, non-JSON crash, empty dir)
  • Full monorepo test suite (295 CLI + all packages) passes
  • Lint, typecheck, format all clean
  • 2-agent security + code quality review completed; all critical/high findings fixed

Add a launched note to the docs home, the guide Status section, and the devlog intro, each linking the launch announcement.
- socket.yml: configure the Socket GitHub app (manifest-only triggers, ignore build output, pin high-signal alerts).
- socket-security.yml: a `socket ci` policy gate plus a Socket Firewall job that routes installs through `sfw` to block known-malware versions at fetch time.
- SECURITY.md: supported versions and private vulnerability reporting.
…d structured outputs

The GitHub Action (uses: yasserstudio/gmc@v1) now runs preflight with:
- Inline error/warning annotations on PR diffs, pinned to source feed files
- A job-summary table of all findings in the Actions run summary tab
- Structured outputs (ok, scanned, errors, warnings, report) for downstream steps

Security hardening from review:
- Annotation messages escaped for workflow-command injection (%/\n/\r/:/,)
- Heredoc delimiter uses randomUUID() to prevent delimiter collision
- Non-preflight path uses bash arrays + set -f (prevents shell/glob injection)
@yasserstudio yasserstudio changed the title Launch docs + Socket.dev supply-chain security feat(action): preflight CI gate with annotations, summary, and outputs Jun 22, 2026
Comment thread action/run.mjs
"|----------|------|---------|---------|",
);
for (const f of report.findings) {
const esc = (s) => s.replace(/\|/g, "\\|");
Comment thread action/run.test.mjs
import { fileURLToPath } from "node:url";
import { dirname } from "node:path";
import { strict as assert } from "node:assert";
import { describe, it, before, after } from "node:test";
@yasserstudio yasserstudio merged commit b157891 into main Jun 22, 2026
7 checks passed
@yasserstudio yasserstudio deleted the chore/launch-docs-and-socket-security branch June 22, 2026 15:59
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.

2 participants