Skip to content

Organize GitHub summary by image and version #474

@jnewton03

Description

@jnewton03

Problem

Matrix jobs in the published images vulnerability scanning workflow append to $GITHUB_STEP_SUMMARY in completion order (non-deterministic), resulting in randomly ordered scan results.

Desired Behavior

Organize results:

  1. By image (liquibase/liquibase first, then liquibase/liquibase-secure)
  2. Within each image, by version (newest at top)

Proposed Solution: Artifact-Based Aggregation

Each matrix job writes its summary to a file and uploads as an artifact. A final job downloads all artifacts, sorts them, and writes one organized summary.

Changes Required

File Changes
scripts/generate-dockerhub-matrix.sh Add sort_key field (e.g., "0-000" for ordering)
scripts/append-github-summary.sh Write to file instead of $GITHUB_STEP_SUMMARY
.github/workflows/trivy-scan-published-images.yml Upload summary artifacts, aggregate in notify-results

Implementation Details

  1. Add sort_key to matrix: First digit = image index (0=community, 1=secure), remaining = version index (000=newest)
  2. Summary script: Write to local file summary-content.md instead of appending to summary
  3. Workflow: Upload summary artifacts per job, download and aggregate in notify-results job

Expected Result

Before: Random order

5.0.1 (secure)
5.0.3 (community)
5.0.2 (secure)

After: Organized

# liquibase/liquibase
5.0.3
5.0.2
5.0.1

# liquibase/liquibase-secure
5.0.3
5.0.2
5.0.1

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions