feat(ci): add declarative downstream bundle profiles - #14208
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (8)
WalkthroughAdds declarative downstream bundle profiles with validation, deterministic lockfiles, installed-image verification, release-gate artifact generation, tests, and deployment documentation for the ChangesDownstream bundle profiles
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant ReleaseWorkflow
participant ProfileManager
participant BundleCatalog
participant DownstreamImage
ReleaseWorkflow->>ProfileManager: run check and compile
ProfileManager->>BundleCatalog: discover and validate bundles
ProfileManager->>ReleaseWorkflow: upload lock inventories
DownstreamImage->>ProfileManager: run verify-installed
ProfileManager->>DownstreamImage: emit inventory and validation result
Possibly related PRs
Suggested reviewers: ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 Checkov (3.3.8).github/workflows/release-inventory-gate.ymlTraceback (most recent call last): scripts/ci/bundle_profile_locks/enterprise-hardened.lock.jsonTraceback (most recent call last): scripts/ci/bundle_profiles.jsonTraceback (most recent call last): Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Build successful! ✅ |
✅ Test Coverage AdvisorNo source changes detected without accompanying tests. Thanks for keeping coverage up! 🎉
|
What
Why
The
release-1.12.0branch already contains the LE-1871 application-image tiers, LE-1872 release/version propagation, and LE-1873 package/image inventory gates. It did not yet contain LE-1874's downstream source of truth: Enterprise/hardened images still inherited the Langflow application's bundle dependencies without a named, exact, independently reviewable profile.This change makes the current Enterprise/hardened bundle set explicit and fails closed when the application or installed image drifts from it. Profile selection and installation remain image-build concerns; the tooling performs no runtime package or registry mutation.
Downstream adoption
This PR establishes the release-branch contract that downstream builds consume. After it lands, the Enterprise release branch should update its immutable OSS pin, set
LANGFLOW_BUNDLE_PROFILE=enterprise-hardenedin its Dockerfile, install the generated exact requirements during the build, and retain theverify-installedJSON artifact. That companion change should follow the merged OSS commit so Enterprise does not pin an unmerged release-branch revision.Validation
80 passed: completescripts/ci/test suiteactionlintfor the reusable release inventory workflowgit diff --checkSummary by CodeRabbit
New Features
Documentation
Tests