New-feature, Ephemeral Environments for PRs — Uffizzi Integration #19296
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Thank you for contributing to Harbor!
Comprehensive Summary of your change
This PR introduces a new feature that enhances our development workflow by integrating Uffizzi for ephemeral environments. The primary goal of this feature is to streamline the testing and validation process of Harbor-related changes. The PR includes the following major updates:
Image Building and Pushing:
We have implemented a GitHub workflow that automates the building and pushing of all Harbor-related images to a temporary registry. This step ensures that the latest images are available for testing in the Uffizzi environment.
Uffizzi Cluster Setup:
As a significant part of this integration, we create an Uffizzi cluster (uCluster) dynamically. This cluster is used to provision isolated environments for testing.
The Harbor Helm chart is then installed within the Uffizzi cluster, using the newly built and pushed images. This ensures that the environment closely mirrors the production setup.
Harbor Cypress Tests:
After setting up the Harbor instance within the Uffizzi environment, we execute the Harbor Cypress tests. These tests validate the functionality and behavior of the Harbor application.
Running these tests within an isolated environment helps identify potential issues and ensures the reliability of Harbor.
Please indicate you've done the following: