-
Notifications
You must be signed in to change notification settings - Fork 5
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?
Changes from 3 commits
1652737
9dae4d1
411c3d8
f3ded4a
240b7ad
30b0ff0
9328a01
6e89be9
6dc4877
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
k8sgateway_api_version='v1.2.1' |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
k8sgateway_api_version='v1.1.0' | ||
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -33,12 +33,27 @@ jobs: | |
- ${{ inputs.image-variant }} | ||
version: | ||
- ${{ inputs.version }} | ||
version-files: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is a shift in behavior. Previously, we ran min/max versions on an async schedule (ie not on PRs) and it seems we are shifting that to run this on PRs. This isn't bad per se, I just wanted to call it out. What are we trying to achieve by running min/max on PRs, that running these nightly did not achieve? Or, if we didn't run the min/max for conformance tests nightly, perhaps we should do that instead? |
||
- label: 'min' | ||
file: './.github/workflows/.env/pr-tests/min_versions.env' | ||
- label: 'max' | ||
file: './.github/workflows/.env/pr-tests/max_versions.env' | ||
steps: | ||
# Checkout the branch that initiated the action | ||
- name: Checkout Repository | ||
uses: actions/checkout@v4 | ||
|
||
# The dotenv action is used to load key-value pairs from files. | ||
# In this case, the file is specified in the matrix and will contain the versions of the tools to use | ||
- name: Dotenv Action | ||
uses: falti/[email protected] | ||
id: dotenv | ||
with: | ||
path: ${{ matrix.version-files.file }} | ||
log-variables: true | ||
# Run the k8s gateway api conformance tests | ||
- name: Run Conformance Tests | ||
uses: ./.github/workflows/composite-actions/kube-gateway-api-conformance-tests | ||
|
||
with: | ||
k8sgateway-api-version: ${{ steps.dotenv.outputs.k8sgateway_api_version }} | ||
# TODO(tim): Add support for downloading the test results and creating | ||
# a pull request whenever a new release > 1.17+ is cut. |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -489,7 +489,15 @@ jobs: | |
- uses: actions/checkout@v4 | ||
with: | ||
ref: main | ||
- name: Dotenv Action | ||
uses: falti/[email protected] | ||
id: dotenv | ||
with: | ||
path: ${{ matrix.version-files.file }} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Looks like the matrix (line 484) does not have |
||
log-variables: true | ||
- uses: ./.github/workflows/composite-actions/kube-gateway-api-conformance-tests | ||
with: | ||
k8sgateway-api-version: ${{ steps.dotenv.outputs.k8sgateway_api_version }} | ||
|
||
kube_gateway_api_conformance_tests_18: | ||
name: Conformance (branch=v1.18.x, type=Kubernetes Gateway API, version=${{matrix.kube-version.node}} ) | ||
|
@@ -507,8 +515,15 @@ jobs: | |
- uses: actions/checkout@v4 | ||
with: | ||
ref: v1.18.x | ||
- name: Dotenv Action | ||
uses: falti/[email protected] | ||
id: dotenv | ||
with: | ||
path: ${{ matrix.version-files.file }} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same comment as above (version-files not defined in matrix). Also, this won't work until the env files are backported to 1.18.x |
||
log-variables: true | ||
- uses: ./.github/workflows/composite-actions/kube-gateway-api-conformance-tests | ||
|
||
with: | ||
k8sgateway-api-version: ${{ steps.dotenv.outputs.k8sgateway_api_version }} | ||
|
||
kube_gateway_api_conformance_tests_17: | ||
name: Conformance (branch=v1.17.x, type=Kubernetes Gateway API, version=${{matrix.kube-version.node}} ) | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -82,12 +82,29 @@ jobs: | |
# (see https://github.com/solo-io/solo-projects/issues/6094) | ||
image-variant: | ||
- standard | ||
version-files: | ||
- label: 'min' | ||
file: './.github/workflows/.env/pr-tests/min_versions.env' | ||
- label: 'max' | ||
file: './.github/workflows/.env/pr-tests/max_versions.env' | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can we move the |
||
steps: | ||
# Checkout the branch that initiated the action | ||
- uses: actions/checkout@v4 | ||
- id: auto-succeed-tests | ||
if: needs.prepare_env.outputs.should-auto-succeed-regression-tests == 'true' | ||
run: | | ||
echo "Kubernetes Gateway API conformance tests auto-succeeded" | ||
# The dotenv action is used to load key-value pairs from files. | ||
# In this case, the file is specified in the matrix and will contain the versions of the tools to use | ||
- name: Dotenv Action | ||
uses: falti/[email protected] | ||
id: dotenv | ||
with: | ||
path: ${{ matrix.version-files.file }} | ||
log-variables: true | ||
# Run the k8s gateway api conformance tests | ||
- id: run-tests | ||
if: needs.prepare_env.outputs.should-auto-succeed-regression-tests != 'true' | ||
uses: ./.github/workflows/composite-actions/kube-gateway-api-conformance-tests | ||
with: | ||
k8sgateway-api-version: ${{ steps.dotenv.outputs.k8sgateway_api_version }} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
changelog: | ||
- type: FIX | ||
issueLink: https://github.com/k8sgateway/k8sgateway/issues/10359 | ||
resolvesIssue: true | ||
description: >- | ||
Updates the Makefile and conformance GitHub action to support multiple Gateway API versions. |
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:^ 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?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.
weren't we previously passing conformance on 1.0.0? (before we upgraded to 1.1 / 1.2)