-
Notifications
You must be signed in to change notification settings - Fork 1
feat: e2e testing with KIND #1514
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces end-to-end testing infrastructure using KIND (Kubernetes in Docker) for the Radix Operator. The implementation creates a test framework that spins up a KIND cluster, installs the radix-operator Helm chart with Prometheus Operator CRDs, and executes integration tests against RadixRegistration resources to validate admission webhook behavior.
Key changes:
- New e2e testing framework with KIND cluster management and automated Helm chart installation
- Comprehensive validation tests for RadixRegistration CRD including webhook validation, immutability rules, and CRUD operations
- CI/CD integration with GitHub Actions workflow for automated e2e testing
Reviewed Changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| e2e/setup_test.go | TestMain setup managing KIND cluster lifecycle, Prometheus CRD installation, and test infrastructure initialization |
| e2e/radix_registration_validation_test.go | Extensive validation tests covering CloneURL patterns, ConfigBranch rules, field immutability, and AppID uniqueness |
| e2e/radix_registration_test.go | Basic webhook validation tests and CRUD operations for RadixRegistration resources |
| e2e/internal/prometheus_installer.go | Prometheus Operator CRD installation utility with dynamic version detection |
| e2e/internal/kind_cluster.go | KIND cluster creation, deletion, and kubeconfig management |
| e2e/internal/helm_installer.go | Helm chart installation wrapper with custom value configuration |
| e2e/example_test.go | Example test demonstrating e2e testing patterns and best practices |
| e2e/README.md | Comprehensive documentation for running and writing e2e tests |
| e2e/IMPLEMENTATION.md | Technical implementation details and architecture documentation |
| e2e/.gitignore | Git ignore rules for test artifacts and temporary files |
| Makefile | New test-e2e target and updated test target to exclude e2e tests |
| .github/workflows/pr.yml | New integration-test job for automated e2e testing in CI |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
nilsgstrabo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few comments we can discuss
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <[email protected]>
Created with this prompt:
TODO:
First run: