feat(df): add CI verdict log and summary renderer
Description
Second MR in the glab df (Dependency Firewall) stack. Builds on the
engine foundations (verdict).
Adds the two verdict-consuming engine packages:
cilog— append and read firewall verdicts in.gitlab/df/ci-log.json(New,Load,Save,Path). This is the record that survives aglab df npmrun and feedsglab df ci-summary.summary— render a titled Unicode box summarizing blocked or flagged packages: coloredBlocked(red) /Warning(yellow) status, an adaptive count line, aPACKAGE / VERSION / STATUS / REASONtable, width capped at 80 columns, and reason truncation with….
Still no user-facing command here — both packages are wired up by the later "df commands" MR.
Related Issues
- gitlab-org/gitlab#603648+s
- MRs split out from Draft: POC feat(df): add GitLab Dependency Fire... (!3429) • Michael Eddington
Depends on the engine-foundations MR (its target branch).
How has this been tested?
Pure library code; no GitLab instance required.
go test ./internal/dependencyfirewall/cilog/... \
./internal/dependencyfirewall/summary/...The summary tests assert the rendered box is rectangular, starts with a blank
line, colors the status column, caps width, and truncates long reasons. The
rendered output is exercised end-to-end through glab df ci-summary in the
"df commands" MR. make lint is clean.
Edited by Michael Eddington