-
Notifications
You must be signed in to change notification settings - Fork 0
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
CI: Updates Makefile and GH Workflow to Support Multiple Gateway API Versions #10390
base: main
Are you sure you want to change the base?
Conversation
Issues linked to changelog: |
@@ -53,6 +57,8 @@ runs: | |||
fi | |||
- name: Run the kubernetes gateway API conformance tests | |||
shell: bash | |||
env: | |||
GATEWAY_API_VERSION: ${{ inputs.gateway-api-version }} |
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.
@sam-heilbron @nfuden this env var is not getting set causing the CI failure. PTAL and let me know if you see the issue or if you suggest anyone else with more familiarity with CI that can review.
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.
One thing that stands out to me is that we mixing "matrix" and "input" in this composite-action. I prefer your approach, since it makes the action standalone, and unaware that it's called within a matrix. I'm not sure if it causes issues combingin both, but from a mainteance perspective, I think it would be better if we adjusted the syntax to be entirely input based, as you have it
Visit the preview URL for this PR (updated for commit 1123630): https://gloo-edge--pr10390-issue-10359-kamd2nqp.web.app (expires Wed, 18 Dec 2024 16:58:07 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: 77c2b86e287749579b7ff9cadb81e099042ef677 |
- name: Run Conformance Tests | ||
uses: ./.github/workflows/composite-actions/kube-gateway-api-conformance-tests | ||
with: | ||
gateway-api-version: ${{ matrix.gateway-api-version }} |
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.
https://github.com/solo-io/gloo/blob/main/.github/workflows/nightly-tests.yaml#L86 we rely on an env file to define inputs for some of our other tests. I think it could be great to do something similar for this job. it can be a separate file, but it would standardize our way of defining these variables and make it easier to keep in sync
ab977eb
to
7bb39ce
Compare
1982e91
to
1131566
Compare
@danehans this PR is out of date, but I can approve once you update it |
@sam-heilbron I am still working through the implementation. I have tried implementing your feedback but no luck thus far. I should have time later today to continue troubleshooting. |
…PI versions Signed-off-by: Daneyon Hansen <[email protected]>
Signed-off-by: Daneyon Hansen <[email protected]>
6bf62d1
to
4d1200f
Compare
Signed-off-by: Daneyon Hansen <[email protected]>
4d1200f
to
aac5da1
Compare
@@ -0,0 +1 @@ | |||
k8sgateway_api_version='v1.1.0' |
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.
I initially set this value to v1.0.0
to match .github/workflows/.env/nightly-tests/min_versions.env
but the following conformance test consistently failed:
=== RUN TestConformance/GatewayWithAttachedRoutes/Gateway_listener_should_have_AttachedRoutes_set_even_when_Gateway_has_unresolved_refs
helpers.go:650: Gateway expected observedGeneration to be updated to 1 for all conditions, only 0/2 were updated. stale conditions are: Accepted (generation 0), Programmed (generation 0)
helpers.go:655: Conditions matched expectations
helpers.go:655: Gateway status listeners matched expectations
helpers.go:681: Accepted condition set to Status True with Reason Accepted, expected Status False
helpers.go:681: Accepted was not in conditions list [[{ResolvedRefs False 1 2024-12-11 00:21:38 +0000 UTC BackendNotFound Service "does-not-exist" not found} {Accepted True 1 2024-12-11 00:21:38 +0000 UTC Accepted }]]
^ is a test bug that was fixed in kubernetes-sigs/gateway-api@8bd5491 (included in v1.1.0). @sam-heilbron should .github/workflows/.env/nightly-tests/min_versions.env
be updated accordingly?
Description
Updates the Makefile and conformance GH workflow to support multiple Gateway API versions.
Fixes #10359
API changes
None
Code changes
Makefile
- Refactors conformance testing targets to support multiple Gateway API versions.CI changes
.github/workflows/composite-actions/kube-gateway-api-conformance-tests/action.yaml
: Adds thek8sgateway-api-version
as input to set theCONFORMANCE_VERSION
environment variable used by theconformance
target..github/workflows/conformance-tests.yaml
: Creates a Gateway API version matrix for conformance testing in CI..github/workflows/nightly-tests.yaml
: Creates a Gateway API version matrix for nightly testing in CI..github/workflows/regression-tests.yaml
: Creates a Gateway API version matrix for regression testing in CI.-
.github/workflows/.env/pr-tests/{min,max}_versions.env
: Adds Dotenv files to define the source min/max GW API versions used for conformance testing.Docs changes
N/A
BOT NOTES:
resolves k8sgateway#10359