Add integration test presubmit for openshift/sippy - #82968
Add integration test presubmit for openshift/sippy#82968redhat-chai-bot wants to merge 1 commit into
Conversation
|
/pj-rehearse auto-ack AI-generated. Review for accuracy. |
WalkthroughThe Sippy CI configuration adds a ChangesSippy integration testing
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
|
@redhat-chai-bot: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
| - dockerfile_path: Dockerfile.integration | ||
| from: src | ||
| to: sippy-integration |
There was a problem hiding this comment.
Did you consider using the .devcontainer/Dockerfile for this? I am not sure if it is missing anything you would need. It seems reasonable to reuse if we are going the nested-podman route. I also see value in making the integration tests work in the same manner the e2e tests do (which doesn't require nested-podman), but I am not convinced on that either.
There was a problem hiding this comment.
Good question! Here's the reasoning behind using Dockerfile.integration:
Why not .devcontainer/Dockerfile?
The devcontainer Dockerfile is designed for the VS Code development workflow — it may include tooling (editor extensions, shell config, etc.) that isn't needed in CI and could add unnecessary image build time. Dockerfile.integration was purpose-built for CI in sippy#3866 with just the minimal set: podman, fuse-overlayfs, shadow-utils, subuid/subgid setup, and the entrypoint script that wires up testcontainers-go. That said, I haven't compared them side-by-side — if .devcontainer/Dockerfile already has everything needed, reusing it could reduce maintenance.
Why nested-podman instead of the e2e approach?
The e2e tests use a cluster_claim which provisions a full OCP cluster — that's significantly heavier infrastructure for integration tests that only need to spin up a PostgreSQL container via testcontainers-go. The nested-podman approach gives us rootless podman in the test pod directly, which is a lighter-weight solution.
I'll defer to @smg247 and the PR requester on which approach they prefer — this is a design tradeoff between image reuse vs. purpose-built, and lightweight (nested-podman) vs. consistent-with-e2e (cluster_claim).
AI-generated. Review for accuracy.
AI-generated. Review for accuracy.
There was a problem hiding this comment.
The devcontainer dockerfile does much more than just allow for a VS code development workflow...it handles our staging environment and agentic solve in the repo as well. I think it is suitable for this purpose even if it has a few things included that aren't needed here. It is better to reuse than to create yet another dockerfile for this single job.
There was a problem hiding this comment.
That makes sense — thanks for the context. I'll update this PR to use .devcontainer/Dockerfile instead of Dockerfile.integration, pending confirmation from the PR requester.
AI-generated. Review for accuracy.
AI-generated. Review for accuracy.
Adds a new presubmit integration test that uses testcontainers-go to run PostgreSQL-backed integration tests in CI. The test uses: - A sippy-integration image built from Dockerfile.integration (podman + fuse-overlayfs) - ci-operator nested_podman:true for user namespace and /dev/fuse access - The Docker ENTRYPOINT in the image starts rootless podman before running tests Linked to: TRT-2865 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
13a18ae to
063cb0b
Compare
|
@redhat-chai-bot, Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: redhat-chai-bot 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 |
|
@redhat-chai-bot: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Adds podman, fuse-overlayfs, and rootless podman setup to the devcontainer Dockerfile so it can serve as the base image for running integration tests in CI with ci-operator's nested_podman mode. Simplifies Dockerfile.integration to a thin CI adapter that extends the devcontainer with the source tree, per review feedback on openshift/release#82968.
What
Adds a new presubmit integration test for openshift/sippy that runs
make integrationusing testcontainers-go with a PostgreSQL container.How
sippy-integrationimage fromDockerfile.integration(podman + fuse-overlayfs on top ofsrc)nested_podman: truefor user namespace and/dev/fuseaccessENV HOME=/tmpis baked into the image (Set HOME=/tmp in Dockerfile.integration for CI compatibility sippy#3878) so the entrypoint has a writable home directoryConfig
Generated presubmit
pull-ci-openshift-sippy-main-integration/test integrationLinked to: TRT-2865