Skip to content

fix: random improvements and fixes#32

Merged
jbpratt merged 7 commits intomainfrom
bug-fixes
Mar 3, 2026
Merged

fix: random improvements and fixes#32
jbpratt merged 7 commits intomainfrom
bug-fixes

Conversation

@jbpratt
Copy link
Contributor

@jbpratt jbpratt commented Mar 3, 2026

  • fix(ui): distinguish missing tests from failing tests in readiness signal
  • fix(ui): show warning icons for missing builds/tests in progress stepper
  • refactor: replace JUnit test processing with CTRF format
  • feat: add Clair vulnerability scan ingestion and UI tab
  • fix(web): don't seed incomplete snapshot data
  • refactor(ui): group security scans by component with arch tabs
  • fix(web): remove expandable bug verification
image image image

jbpratt and others added 6 commits March 3, 2026 08:40
Use PatternFly's warning variant on the Builds ready and Tests passed
steps when no snapshot or test data exists. Increase spacing between the
signal row and progress stepper.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Resolve merge conflicts from stashed CTRF refactor against the
has_tests bug fix. Replace snapshot_test_results with test_suites
and test_cases tables, simplify SnapshotRecord by removing
trigger/released fields, and preserve the has_tests computed field
for missing-test detection.

- Add internal/ctrf package for CTRF report types
- Update S3 sync to discover and parse CTRF reports
- Replace JUnit XML parsing pipeline entirely
- Update frontend to display test suites with tool info
- Regenerate sqlc from updated schema and queries

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Brady Pratt <bpratt@redhat.com>
Ingest Clair vulnerability scan reports from S3 during the snapshot sync
loop, store per-component/arch vulnerability data in SQLite, and render
a new "Security Scans" tab on the release detail page.

Backend:
- Add vulnerability_reports and vulnerabilities tables with sqlc queries
- Create internal/clair package for Clair JSON parse types
- Parse scans/summary.json and per-arch clair-report-*.json from S3
- Extend sync.go Store interface and ingest() to persist scan data
- Load vulnerability data in GetSnapshotByName alongside test results

Frontend:
- Add VulnerabilitiesTable component with CVE search, severity filters,
  and expandable description rows
- Add VulnerabilityReport/Vulnerability types to SnapshotRecord
- Security Scans tab with severity-colored labels and fix availability
- Switch tabs to isFilled layout for better visual balance

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Brady Pratt <bpratt@redhat.com>
Collapse the flat (component, arch) row layout into one row per
component with aggregated severity counts.  Expanding a component
reveals filled PatternFly tabs for each architecture, showing
per-arch severity breakdown and the existing CVE table.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Brady Pratt <bpratt@redhat.com>
Signed-off-by: Brady Pratt <bpratt@redhat.com>
@jbpratt jbpratt merged commit 303ffe4 into main Mar 3, 2026
9 of 10 checks passed
@jbpratt jbpratt deleted the bug-fixes branch March 3, 2026 15:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants