Add speculative build support: auto-detect and source staging - #90
Add speculative build support: auto-detect and source staging#90rebtoor wants to merge 1 commit into
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Merge Failed. This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset. |
Enable the s2i content provider to automatically determine which images to build based on the triggering Zuul project, and to stage patched source checkouts from the Zuul workspace into container build contexts. This is a lightweight alternative to the OIB Python package from PR openstack-k8s-operators#49, implementing only the two features needed for RHOSRFE-466 (speculative testing of upstream OpenStack changes): 1. `build.sh auto-detect <project> [stream]` — scans sources.txt files to find which container images reference a given upstream project. Uses exact URL-path matching to avoid false positives (e.g., openstack/watcher does not match openstack/watcher-tempest-plugin). 2. Ansible playbooks for Zuul integration: - resolve-auto-images.yaml: resolves `s2i_ci_images: auto` by running auto-detect for each changed project in the Zuul queue. - stage-zuul-sources.yaml: copies Zuul-checked-out source repos into container src/ directories for speculative builds. Depends-On: openstack-k8s-operators#85 Related-Issue: RHOSRFE-466 Co-Authored-By: Sean Mooney <smooney@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
a493a16 to
fa821a1
Compare
|
Merge Failed. This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset. |
|
Folded into PR #85 — the speculative build support (auto-detect, list-sources, source staging) is now part of the content provider PR. |
Summary
build.sh auto-detect <project> [stream]command that scanssources.txtfiles to determine which container images are affected by a given upstream OpenStack project.resolve-auto-images.yaml) and source staging (stage-zuul-sources.yaml).sources.txtfiles).This is a lightweight alternative to the OIB Python package from PR #49, implementing only the two features required for speculative testing of upstream OpenStack changes (RHOSRFE-466):
openstack/tempest), determine which images need rebuilding by parsingsources.txtmanifests. Uses exact URL-path matching to avoid false positives.src/directories so builds use the speculative code instead of pinned hashes.How it works
When the content provider runs with
s2i_ci_images: auto:resolve-auto-images.yamlinspects the Zuul queue to find which external projects triggered the build.build.sh auto-detectto find affected images.stage-zuul-sources.yamlcopies Zuul's patched checkouts into the container build contexts.Dependencies
Depends-On: #85
Made with Cursor