-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Add "alpha" feature gate tests (integration & examples) to our CI #3917
Conversation
/kind misc |
pkg/workspace/apply.go
Outdated
|
||
// addSidecarVolumeMount adds a volumeMount to the sidecar unless its MountPath would conflict | ||
// with another of the sidecar's existing volume mounts. | ||
func addSidecarVolumeMount(sidecar *v1beta1.Sidecar, volumeMount corev1.VolumeMount) { |
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.
This fixes a bug discovered by running the alpha
e2e tests! 😎
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
The following is the coverage report on the affected files.
|
@pierretasci the tekton bundles integration tests are now being run as part of our CI (and failing atm). Is this something that should work straight away or is there more setup than just a feature flag required to get them running successfully? I'm looking into it but wondered if you might immediately know what needs to change. Here are the error messages:
Edit after some debugging: Ah ok, I think the failures are expected but we're supposed to receive "not found" errors instead of validation problems like we do here. |
OK I get it now. Updated the |
Thanks for fixing tha and sorry for only getting to this message now! |
All good, thanks for taking a look! |
@afrittoli I've added this to the 0.24 milestone as a late addition so that we're running tests against the "alpha" gate before the release goes live. Since this is so late in the window no problem at all if you want to keep it out of 0.24.0. |
/test pull-tekton-pipeline-integration-tests |
Prior to this commit the integration tests run against PRs were only those for "stable" features. This PR adds additional integration test runs for "alpha" features as well. `test/e2e-scripts.sh` now patches the feature-flags ConfigMap before executing integration tests and examples tests, first with "enable-api-fields: stable" and then with "enable-api-fields: alpha". As part of switching on alpha tests two issues have also been fixed with alpha features: 1. Sidecar workspaces could collide with existing volumeMounts attached to the sidecar if the mountpath of the workspace matched an existing volumeMount. This has been fixed by preventing the additional workspace volumeMount if one already exists at that mountpath. 2. Tekton bundles integration tests needed to be updated to account for validation errors that are returned when a bundle is invalid.
/test tekton-pipeline-unit-tests |
Awesome, integration tests are passing with both "stable" and "alpha" flags set. 🎉 |
For the build tests, please see #3922 |
set_feature_gate "stable" | ||
run_e2e | ||
|
||
set_feature_gate "alpha" | ||
run_e2e |
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.
✨
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.
So, we are running twice the e2e tests now right ? I think, long term, it should be two different job that can run in parallel but maybe the focus should be on using tekton pipelines for the CI before thinking about that 😛
Something I don't see in this PR though, is an example of a test that is gonna be skipped if the "alpha" feature gate is not set (aka if we are running on stable
).
Indeed, I started working on running CI in
We already have tests in the |
Ah ok, for the examples 👍🏼. But we might have to have some "helpers" on the go e2e tests 🙃 |
@vdemeester this sounds like what you're after? pipeline/test/tektonbundles_test.go Lines 48 to 57 in 2266e18
|
Specifically, |
/test pull-tekton-pipeline-build-tests |
set_feature_gate "stable" | ||
run_e2e |
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.
NIT: it would be nice to be able to check that the controller has "seen" the configuration change before we start the tests. Not sure how, though?
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.
Thank you!
/lgtm
Indeed, and we have a |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: vdemeester The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Changes
Fixes #3896
Prior to this commit the integration tests run against PRs were only those for "stable" features.
This PR adds additional integration test runs for "alpha" features as well.
test/e2e-scripts.sh
now patches the feature-flags ConfigMap before executing integration tests and examples tests, first with "enable-api-fields: stable" and then with "enable-api-fields: alpha".As part of switching on alpha tests two issues have also been fixed with alpha features:
Sidecar workspaces could collide with existing volumeMounts attached
to the sidecar if the mountpath of the workspace matched an existing
volumeMount. This has been fixed by preventing the additional workspace
volumeMount if one already exists at that mountpath.
Tekton bundles integration tests needed to be updated to account
for validation errors that are returned when a bundle is invalid.
Submitter Checklist
As the author of this PR, please check off the items in this checklist:
functionality, content, code)
Release Notes