Commit Graph
19 Commits
Author SHA1 Message Date
Renovate e1fd47716e chore(deps): update dependency aquasecurity/trivy to v0.76.2
CI Tests / JS Unit Tests (push) Skipped
CI Tests / cross-check-mixed-sbom (sbom=false) (push) Skipped
CI Tests / cross-check-mixed-sbom (sbom=true) (push) Skipped
CI Tests / without-inbuild-sbom (sbom=false) (push) Skipped
CI Tests / without-inbuild-sbom (sbom=true) (push) Skipped
CI Tests / with-inbuild-sbom (sbom=false) (push) Skipped
CI Tests / with-inbuild-sbom (sbom=true) (push) Skipped
renovate/artifacts Artifact file update failure
CI Tests / JS Unit Tests (pull_request) Successful in 2m50s
CI Tests / cross-check-mixed-sbom (sbom=true) (pull_request) Failing after 1m20s
CI Tests / cross-check-mixed-sbom (sbom=false) (pull_request) Failing after 1m23s
Philipp/Global-Workflows: Pre-commit Lint (Scoped) / pre-commit (pull_request) Successful in 4m23s
CI Tests / with-inbuild-sbom (sbom=false) (pull_request) Failing after 1m27s
CI Tests / without-inbuild-sbom (sbom=true) (pull_request) Failing after 1m32s
CI Tests / without-inbuild-sbom (sbom=false) (pull_request) Failing after 1m36s
CI Tests / with-inbuild-sbom (sbom=true) (pull_request) Failing after 20s
2026-11-05 13:36:46 +00:00
Renovate 6b70a25cf6 chore(deps): update dependency aquasecurity/trivy to v0.75.0
CI Tests / JS Unit Tests (push) Skipped
CI Tests / cross-check-mixed-sbom (sbom=true) (push) Skipped
CI Tests / without-inbuild-sbom (sbom=false) (push) Skipped
CI Tests / without-inbuild-sbom (sbom=true) (push) Skipped
CI Tests / with-inbuild-sbom (sbom=false) (push) Skipped
CI Tests / with-inbuild-sbom (sbom=true) (push) Skipped
renovate/artifacts Artifact file update failure
CI Tests / cross-check-mixed-sbom (sbom=false) (push) Skipped
CI Tests / JS Unit Tests (pull_request) Successful in 5m11s
Philipp/Global-Workflows: Pre-commit Lint (Scoped) / pre-commit (pull_request) Successful in 2m56s
CI Tests / cross-check-mixed-sbom (sbom=true) (pull_request) Failing after 1m33s
CI Tests / with-inbuild-sbom (sbom=true) (pull_request) Failing after 1m26s
CI Tests / without-inbuild-sbom (sbom=true) (pull_request) Failing after 1m28s
CI Tests / with-inbuild-sbom (sbom=false) (pull_request) Failing after 1m28s
CI Tests / without-inbuild-sbom (sbom=false) (pull_request) Failing after 1m31s
CI Tests / cross-check-mixed-sbom (sbom=false) (pull_request) Failing after 1m54s
2026-10-01 22:14:56 +00:00
Philipp 9e607b1a24 Revert "Merge pull request 'refactor(action): replace bash blocks with zero-dependency Node.js modules' (#17) from feat-bash-to-js-refactor into main"
CI Tests / JS Unit Tests (push) Skipped
CI Tests / cross-check-mixed-sbom (sbom=false) (push) Skipped
CI Tests / cross-check-mixed-sbom (sbom=true) (push) Skipped
CI Tests / without-inbuild-sbom (sbom=false) (push) Skipped
CI Tests / without-inbuild-sbom (sbom=true) (push) Skipped
CI Tests / with-inbuild-sbom (sbom=false) (push) Skipped
CI Tests / with-inbuild-sbom (sbom=true) (push) Skipped
CI Tests / JS Unit Tests (pull_request) Successful in 9s
Philipp/Global-Workflows: Pre-commit Lint (Scoped) / pre-commit (pull_request) Successful in 2m34s
CI Tests / without-inbuild-sbom (sbom=false) (pull_request) Successful in 4m20s
CI Tests / cross-check-mixed-sbom (sbom=false) (pull_request) Successful in 6m15s
CI Tests / cross-check-mixed-sbom (sbom=true) (pull_request) Successful in 4m45s
CI Tests / without-inbuild-sbom (sbom=true) (pull_request) Successful in 3m50s
CI Tests / with-inbuild-sbom (sbom=false) (pull_request) Successful in 3m54s
CI Tests / with-inbuild-sbom (sbom=true) (pull_request) Successful in 3m35s
This reverts commit 17e5dab1b2, reversing
changes made to 46c4fedc47.
2026-09-15 01:24:04 +02:00
Philipp 493d119b3c Merge branch 'main' into feat-bash-to-js-refactor
Philipp/Global-Workflows: Pre-commit Lint (Scoped) / pre-commit (pull_request) Successful in 1m43s
CI Tests / JS Unit Tests (pull_request) Successful in 16s
CI Tests / cross-check-mixed-sbom (sbom=false) (pull_request) Failing after 2m48s
CI Tests / without-inbuild-sbom (sbom=false) (pull_request) Failing after 3m13s
CI Tests / without-inbuild-sbom (sbom=true) (pull_request) Failing after 3m13s
CI Tests / cross-check-mixed-sbom (sbom=true) (pull_request) Failing after 3m15s
CI Tests / with-inbuild-sbom (sbom=false) (pull_request) Failing after 4m38s
CI Tests / with-inbuild-sbom (sbom=true) (pull_request) Failing after 4m39s
2026-09-15 00:49:02 +02:00
Philipp 77357f0c3f refactor(action): replace bash blocks with zero-dependency Node.js modules
CI Tests / JS Unit Tests (pull_request) Successful in 46s
Philipp/Global-Workflows: Pre-commit Lint (Scoped) / pre-commit (pull_request) Successful in 1m54s
CI Tests / cross-check-mixed-sbom (sbom=false) (pull_request) Failing after 3m22s
CI Tests / cross-check-mixed-sbom (sbom=true) (pull_request) Failing after 2m38s
CI Tests / with-inbuild-sbom (sbom=false) (pull_request) Failing after 4m21s
CI Tests / without-inbuild-sbom (sbom=true) (pull_request) Failing after 5m36s
CI Tests / without-inbuild-sbom (sbom=false) (pull_request) Failing after 6m47s
CI Tests / with-inbuild-sbom (sbom=true) (pull_request) Failing after 2m59s
Extract ~450 lines of complex bash from action.yaml into modular,
unit-tested Node.js scripts in lib/. All logic is covered by 26 native
node:test unit tests (node --test, no external dependencies).

Modules added:
- lib/platforms.js   - platform parsing and OCI manifest auto-discovery
- lib/distro.js      - SPDX PURL distro detection (os_name/os_version)
- lib/verifier.js    - Trivy arch mapping and SHA256 verification
- lib/diagnostics.js - CI terminal diagnostic formatters
- lib/install-trivy.js  - Trivy install/verify entrypoint (replaces bash step)
- lib/extract-sboms.js  - SBOM extraction entrypoint (replaces bash step)
- lib/scan-sboms.js     - SBOM scan + diff entrypoint (replaces bash step)

Tests added (all pass, auto-discovered by
ode --test):
- test/platforms.test.js
- test/distro.test.js
- test/verifier.test.js
- test/diagnostics.test.js
- test/orchestration.test.js

action.yaml shrinks from 554 to 107 lines. Inputs are bridged to Node
scripts via INPUT_* env vars so modules are fully decoupled from the
Actions runner and testable in isolation.
2026-09-15 00:39:13 +02:00
Philipp 8070a3c155 Merge branch 'main' into renovate/actions-cache-6.x
CI Tests / JS Unit Tests (pull_request) Successful in 9s
Philipp/Global-Workflows: Pre-commit Lint (Scoped) / pre-commit (pull_request) Successful in 2m2s
CI Tests / cross-check-mixed-sbom (sbom=true) (pull_request) Successful in 4m34s
CI Tests / cross-check-mixed-sbom (sbom=false) (pull_request) Successful in 5m16s
CI Tests / without-inbuild-sbom (sbom=false) (pull_request) Successful in 7m5s
CI Tests / without-inbuild-sbom (sbom=true) (pull_request) Successful in 2m55s
CI Tests / with-inbuild-sbom (sbom=false) (pull_request) Successful in 3m7s
CI Tests / with-inbuild-sbom (sbom=true) (pull_request) Successful in 2m24s
2026-09-15 00:32:49 +02:00
Philipp def42c37a8 docs: document trade-offs and differences between in-build and direct scanning
CI Tests / JS Unit Tests (pull_request) Successful in 8s
Philipp/Global-Workflows: Pre-commit Lint (Scoped) / pre-commit (pull_request) Successful in 1m34s
CI Tests / cross-check-mixed-sbom (sbom=false) (pull_request) Successful in 2m35s
CI Tests / cross-check-mixed-sbom (sbom=true) (pull_request) Successful in 2m42s
CI Tests / without-inbuild-sbom (sbom=false) (pull_request) Successful in 7m5s
CI Tests / without-inbuild-sbom (sbom=true) (pull_request) Successful in 5m52s
CI Tests / with-inbuild-sbom (sbom=false) (pull_request) Successful in 5m46s
CI Tests / with-inbuild-sbom (sbom=true) (pull_request) Successful in 2m22s
2026-09-15 00:12:42 +02:00
Philipp 64747ec466 fix: robustly parse distro from in-build SBOM package PURLs
CI Tests / JS Unit Tests (pull_request) Successful in 8s
Philipp/Global-Workflows: Pre-commit Lint (Scoped) / pre-commit (pull_request) Successful in 1m35s
CI Tests / cross-check-mixed-sbom (sbom=false) (pull_request) Successful in 3m3s
CI Tests / cross-check-mixed-sbom (sbom=true) (pull_request) Successful in 3m11s
CI Tests / without-inbuild-sbom (sbom=true) (pull_request) Successful in 5m32s
CI Tests / with-inbuild-sbom (sbom=false) (pull_request) Successful in 5m32s
CI Tests / with-inbuild-sbom (sbom=true) (pull_request) Successful in 1m49s
CI Tests / without-inbuild-sbom (sbom=false) (pull_request) Successful in 7m2s
2026-09-14 23:37:07 +02:00
Philipp 3b9043a746 feat: detect distro from in-build SBOM PURLs and pass --distro to trivy
CI Tests / JS Unit Tests (pull_request) Successful in 8s
Philipp/Global-Workflows: Pre-commit Lint (Scoped) / pre-commit (pull_request) Successful in 1m35s
CI Tests / cross-check-mixed-sbom (sbom=false) (pull_request) Successful in 2m57s
CI Tests / cross-check-mixed-sbom (sbom=true) (pull_request) Successful in 3m5s
CI Tests / without-inbuild-sbom (sbom=true) (pull_request) Successful in 3m59s
CI Tests / without-inbuild-sbom (sbom=false) (pull_request) Successful in 5m34s
CI Tests / with-inbuild-sbom (sbom=false) (pull_request) Successful in 3m52s
CI Tests / with-inbuild-sbom (sbom=true) (pull_request) Successful in 1m36s
2026-09-14 23:25:09 +02:00
Philipp d89fb25d7b test: add unit tests for cve-diff and fallback for in-build sbom scans
CI Tests / cross-check-mixed-sbom (sbom=true) (pull_request) Successful in 3m0s
CI Tests / cross-check-mixed-sbom (sbom=false) (pull_request) Successful in 3m0s
CI Tests / without-inbuild-sbom (sbom=false) (pull_request) Successful in 3m1s
CI Tests / without-inbuild-sbom (sbom=true) (pull_request) Successful in 7m14s
CI Tests / with-inbuild-sbom (sbom=false) (pull_request) Successful in 7m14s
CI Tests / with-inbuild-sbom (sbom=true) (pull_request) Successful in 7m32s
Philipp/Global-Workflows: Pre-commit Lint (Scoped) / pre-commit (pull_request) Successful in 1m29s
2026-09-14 22:27:49 +02:00
Renovate 2ece0c93ac chore(deps): update actions/cache action to v6
Philipp/Global-Workflows: Pre-commit Lint (Scoped) / pre-commit (pull_request) Successful in 2m0s
2026-09-14 17:27:56 +00:00
Philipp e394966a96 feat: show Arch column only when multiple architectures are scanned
Philipp/Global-Workflows: Pre-commit Lint (Scoped) / pre-commit (pull_request) Successful in 3m5s
2026-09-13 22:46:05 +02:00
Philipp e232a22547 feat: support dynamic multi-architecture discovery and iteration 2026-09-13 22:42:40 +02:00
Philipp 86a00c54dc feat: add use-inbuild-sbom input defaulting to false
Philipp/Global-Workflows: Pre-commit Lint (Scoped) / pre-commit (pull_request) Successful in 35s
2026-09-13 20:34:52 +02:00
Philipp 77f3cf68e4 feat: warn when an image has 0 reported CVEs and display warning banner
Philipp/Global-Workflows: Pre-commit Lint (Scoped) / pre-commit (pull_request) Successful in 47s
2026-09-13 20:02:35 +02:00
Philipp 3b458f8749 feat: add dual-side diagnostic overview and gating to ensure both scans succeed
Philipp/Global-Workflows: Pre-commit Lint (Scoped) / pre-commit (pull_request) Successful in 36s
2026-09-13 19:58:54 +02:00
Philipp e4a0cac9ff refactor: internalize trivy version management and remove input
Philipp/Global-Workflows: Pre-commit Lint (Scoped) / pre-commit (pull_request) Successful in 36s
2026-09-13 03:41:34 +02:00
Philipp f246ae5fcd feat: add write-summary option to publish reports to step summary
Philipp/Global-Workflows: Pre-commit Lint (Scoped) / pre-commit (pull_request) Successful in 33s
2026-09-13 00:41:19 +02:00
Philipp bf996103f5 feat: initial commit of cve-differential action 2026-09-13 00:12:26 +02:00