Skip to content

feat: lock factory buildroots and require recipe provenance - #29

Open
HuntedRaven7 wants to merge 2 commits into
projectbluefin:mainfrom
HuntedRaven7:main
Open

feat: lock factory buildroots and require recipe provenance#29
HuntedRaven7 wants to merge 2 commits into
projectbluefin:mainfrom
HuntedRaven7:main

Conversation

@HuntedRaven7

Copy link
Copy Markdown
  • Add config/buildroot-lock.json pinning quay.io/fedora/fedora:44 to a
    SHA-256 digest for reviewably reproducible builds
  • Add tools/lock_buildroot.py to resolve/verify buildroot image digests
  • Add tools/capture_buildroot.py to snapshot buildroot RPM NEVRAs after
    dependency resolution, detecting silent buildroot drift
  • Add tools/emit_manifest.py to assemble final build manifest with OCI
    digest, buildroot snapshots, source provenance, and binary RPM hashes
  • Extend tools/validate.py to enforce buildroot lock schema and validate
    pinned digest is a valid SHA-256; refactor into testable functions
  • Enhance tools/source_pipeline.py to track signature verification status
    per package, emitting signature-report.json summary
  • Update .github/workflows/rebuild-rpms.yml: prepare job resolves pinned
    buildroot image; preflight and per-package stages capture buildroot
    snapshots; publish job emits manifest before and after OCI build
  • Add tests for lock_buildroot, capture_buildroot, emit_manifest, and
    validate modules (42 total tests passing)

Should close issue 25

Kilo Agent added 2 commits August 31, 2026 02:42
Refactored tools/validate.py into testable functions and added
validate_buildroot_lock() to enforce schema version and SHA-256
digest format. Added test_validate.py with 10 tests covering
bootstrap package format, upstream provenance schema, buildroot
lock validation, and end-to-end provenance enforcement.

Added test_emit_manifest.py with 6 tests covering buildroot lock
collection, source report aggregation with file filtering,
signature report handling (missing/present), and full manifest
structure verification including missing buildroot lock fallback.
- Add config/buildroot-lock.json pinning quay.io/fedora/fedora:44 to a
  SHA-256 digest for reviewably reproducible builds
- Add tools/lock_buildroot.py to resolve/verify buildroot image digests
- Add tools/capture_buildroot.py to snapshot buildroot RPM NEVRAs after
  dependency resolution, detecting silent buildroot drift
- Add tools/emit_manifest.py to assemble final build manifest with OCI
  digest, buildroot snapshots, source provenance, and binary RPM hashes
- Extend tools/validate.py to enforce buildroot lock schema and validate
  pinned digest is a valid SHA-256; refactor into testable functions
- Enhance tools/source_pipeline.py to track signature verification status
  per package, emitting signature-report.json summary
- Update .github/workflows/rebuild-rpms.yml: prepare job resolves pinned
  buildroot image; preflight and per-package stages capture buildroot
  snapshots; publish job emits manifest before and after OCI build
- Add tests for lock_buildroot, capture_buildroot, emit_manifest, and
  validate modules (42 total tests passing)
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.

1 participant