Skip to content

Commit da30538

Browse files
sam-heilbronjenshu
andauthored
[1.18] .github: cleanup nightly-tests, add placeholder changelog (#10428)
Co-authored-by: Jenny Shu <[email protected]>
1 parent 5598417 commit da30538

File tree

3 files changed

+8
-328
lines changed

3 files changed

+8
-328
lines changed

.github/workflows/docs-gen.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
push:
88
branches:
99
- 'main'
10+
- 'v1.18.x'
1011
- 'v1.17.x'
1112
- 'v1.16.x'
1213
- 'v1.15.x'

.github/workflows/nightly-tests.yaml

Lines changed: 3 additions & 328 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,15 @@ env:
44
GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} # necessary to pass upgrade tests
55

66
on:
7-
# https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html#tag_20_25_07
8-
# Minute [0,59]
9-
# Hour [0,23]
10-
# Day of the month [1,31]
11-
# Month of the year [1,12]
12-
# Day of the week ([0,6] with 0=Sunday)
13-
schedule:
14-
- cron: "0 5 * * *" # every day @ 05:00 UTC, run tests against latest main
15-
- cron: "0 6 * * 1" # monday @ 06:00 UTC, run expanded tests against v1.17.x
16-
- cron: "0 7 * * 1" # monday @ 07:00 UTC, run expanded tests against v1.16.x
17-
- cron: "0 8 * * 1" # monday @ 08:00 UTC, run expanded tests against v1.15.x
7+
# Since this is an LTS branch, we removed the schedule, since that is defined on the `main` branch
8+
# schedule:
9+
# -
1810
workflow_dispatch:
1911
inputs:
2012
branch:
2113
description: "The branch to run tests against"
2214
type: choice
2315
options:
24-
- main
25-
- v1.17.x
26-
- v1.16.x
27-
- v1.15.x
2816
- workflow_initiating_branch
2917
run-regression:
3018
description: "Run regression tests"
@@ -114,130 +102,6 @@ jobs:
114102
istio-version: ${{ steps.dotenv.outputs.istio_version }}
115103
matrix-label: ${{ matrix.version-files.label }}
116104

117-
end_to_end_tests_main:
118-
name: End-to-End (branch=main, cluster=${{ matrix.test.cluster-name }}, version=${{ matrix.version-files.label }} )
119-
if: ${{ (github.event_name == 'workflow_dispatch' && inputs.run-kubernetes-end-to-end && inputs.branch == 'main') || github.event.schedule == '0 5 * * *' }}
120-
runs-on: ubuntu-22.04
121-
timeout-minutes: 180
122-
strategy:
123-
# Since we are running these on a schedule, there is no value in failing fast
124-
# In fact, we want to ensure that all tests run, so that we have a clearer picture of which tests are prone to flaking
125-
fail-fast: false
126-
matrix:
127-
test:
128-
# When running the tests at night, there is no value in splitting the tests across multiple clusters and running them in parallel.
129-
# As a result, we increase the threshold for the tests, since they all run serially on a single cluster
130-
- cluster-name: 'cluster-one'
131-
go-test-args: '-v -timeout=150m'
132-
# Specifying an empty regex means all tests will be run.
133-
go-test-run-regex: ""
134-
# In our nightly tests, we run the suite of tests using the lower and upper ends of versions that we claim to support
135-
# The versions should mirror: https://docs.solo.io/gloo-edge/latest/reference/support/
136-
version-files:
137-
- label: 'min'
138-
file: './.github/workflows/.env/nightly-tests/min_versions.env'
139-
- label: 'max'
140-
file: './.github/workflows/.env/nightly-tests/max_versions.env'
141-
142-
steps:
143-
- uses: actions/checkout@v4
144-
with:
145-
ref: main
146-
# The dotenv action is used to load key-value pairs from files.
147-
# In this case, the file is specified in the matrix and will contain the versions of the tools to use
148-
- name: Dotenv Action
149-
uses: falti/[email protected]
150-
id: dotenv
151-
with:
152-
path: ${{ matrix.version-files.file }}
153-
log-variables: true
154-
- name: Prep Go Runner
155-
uses: ./.github/workflows/composite-actions/prep-go-runner
156-
# Set up the KinD cluster that the tests will use
157-
- id: setup-kind-cluster
158-
name: Setup KinD Cluster
159-
uses: ./.github/workflows/composite-actions/setup-kind-cluster
160-
with:
161-
cluster-name: ${{ matrix.test.cluster-name }}
162-
kind-node-version: ${{ steps.dotenv.outputs.node_version }}
163-
kind-version: ${{ steps.dotenv.outputs.kind_version }}
164-
kubectl-version: ${{ steps.dotenv.outputs.kubectl_version }}
165-
helm-version: ${{ steps.dotenv.outputs.helm_version }}
166-
istio-version: ${{ steps.dotenv.outputs.istio_version }}
167-
k8sgateway-api-version: ${{ steps.dotenv.outputs.k8sgateway_api_version }}
168-
# Run the tests
169-
- id: run-tests
170-
name: Run Kubernetes e2e Tests
171-
uses: ./.github/workflows/composite-actions/kubernetes-e2e-tests
172-
with:
173-
cluster-name: ${{ matrix.test.cluster-name }}
174-
test-args: ${{ matrix.test.go-test-args }}
175-
run-regex: ${{ matrix.test.go-test-run-regex }}
176-
istio-version: ${{ steps.dotenv.outputs.istio_version }}
177-
matrix-label: ${{ matrix.version-files.label }}
178-
179-
# Reminder: when setting up the job next release branch, copy from "end_to_end_tests_main" not the previous release job as configuration may have changed
180-
end_to_end_tests_17:
181-
name: End-to-End (branch=v1.17.x, cluster=${{ matrix.test.cluster-name }}, version=${{ matrix.version-files.label }} )
182-
if: ${{ (github.event_name == 'workflow_dispatch' && inputs.run-kubernetes-end-to-end && inputs.branch == 'v1.17.x') || github.event.schedule == '0 6 * * 1' }}
183-
runs-on: ubuntu-22.04
184-
timeout-minutes: 150
185-
strategy:
186-
# Since we are running these on a schedule, there is no value in failing fast
187-
# In fact, we want to ensure that all tests run, so that we have a clearer picture of which tests are prone to flaking
188-
fail-fast: false
189-
matrix:
190-
test:
191-
# When running the tests at night, there is no value in splitting the tests across multiple clusters and running them in parallel.
192-
# As a result, we increase the threshold for the tests, since they all run serially on a single cluster
193-
- cluster-name: 'cluster-one'
194-
go-test-args: '-v -timeout=120m'
195-
# Specifying an empty regex means all tests will be run.
196-
go-test-run-regex: ""
197-
# In our nightly tests, we run the suite of tests using the lower and upper ends of versions that we claim to support
198-
# The versions should mirror: https://docs.solo.io/gloo-edge/latest/reference/support/
199-
version-files:
200-
- label: 'min'
201-
file: './.github/workflows/.env/nightly-tests/min_versions.env'
202-
- label: 'max'
203-
file: './.github/workflows/.env/nightly-tests/max_versions.env'
204-
205-
steps:
206-
- uses: actions/checkout@v4
207-
with:
208-
ref: v1.17.x
209-
# The dotenv action is used to load key-value pairs from files.
210-
# In this case, the file is specified in the matrix and will contain the versions of the tools to use
211-
- name: Dotenv Action
212-
uses: falti/[email protected]
213-
id: dotenv
214-
with:
215-
path: ${{ matrix.version-files.file }}
216-
log-variables: true
217-
- name: Prep Go Runner
218-
uses: ./.github/workflows/composite-actions/prep-go-runner
219-
# Set up the KinD cluster that the tests will use
220-
- id: setup-kind-cluster
221-
name: Setup KinD Cluster
222-
uses: ./.github/workflows/composite-actions/setup-kind-cluster
223-
with:
224-
cluster-name: ${{ matrix.test.cluster-name }}
225-
kind-node-version: ${{ steps.dotenv.outputs.node_version }}
226-
kind-version: ${{ steps.dotenv.outputs.kind_version }}
227-
kubectl-version: ${{ steps.dotenv.outputs.kubectl_version }}
228-
helm-version: ${{ steps.dotenv.outputs.helm_version }}
229-
istio-version: ${{ steps.dotenv.outputs.istio_version }}
230-
# Run the tests
231-
- id: run-tests
232-
name: Run Kubernetes e2e Tests
233-
uses: ./.github/workflows/composite-actions/kubernetes-e2e-tests
234-
with:
235-
cluster-name: ${{ matrix.test.cluster-name }}
236-
test-args: ${{ matrix.test.go-test-args }}
237-
run-regex: ${{ matrix.test.go-test-run-regex }}
238-
istio-version: ${{ steps.dotenv.outputs.istio_version }}
239-
matrix-label: ${{ matrix.version-files.label }}
240-
241105
regression_tests_on_demand:
242106
name: on demand regression tests
243107
if: ${{ github.event_name == 'workflow_dispatch' && inputs.run-regression && inputs.branch == 'workflow_initiating_branch' }}
@@ -257,87 +121,6 @@ jobs:
257121
ref: ${{ github.ref_name }}
258122
- uses: ./.github/workflows/composite-actions/regression-tests
259123

260-
regression_tests_main:
261-
name: main regression tests
262-
if: ${{ (github.event_name == 'workflow_dispatch' && inputs.run-regression && inputs.branch == 'main') || github.event.schedule == '0 5 * * *' }}
263-
runs-on: ubuntu-22.04
264-
timeout-minutes: 60
265-
# Previously, there was an environment variable, RELEASED_VERSION="LATEST" set. This made use of some internal code:
266-
# https://github.com/solo-io/gloo/blob/main/test/kube2e/util.go#L229-L241
267-
# which modified our testing process to pull the latest beta release.
268-
#
269-
# NOW, however, running this job is the same as normal CI. (building a local chart, then using it)
270-
strategy:
271-
fail-fast: false
272-
matrix:
273-
# TODO:
274-
# As part of the end_to_end_tests_main job, we added support for importing versions from a .env file
275-
# We should extend the support/usage of those .env files to these other jobs.
276-
# The tests are currently in flux, and some of these regression tests are being migrated, so we decided
277-
# to limit the scope (and potentially unnecessary work) for now
278-
kube-e2e-test-type: ['gateway', 'gloo', 'upgrade']
279-
kube-version: [ { node: 'v1.27.3@sha256:3966ac761ae0136263ffdb6cfd4db23ef8a83cba8a463690e98317add2c9ba72', kubectl: 'v1.27.3', kind: 'v0.20.0', helm: 'v3.13.2' },
280-
{ node: 'v1.31.0@sha256:53df588e04085fd41ae12de0c3fe4c72f7013bba32a20e7325357a1ac94ba865', kubectl: 'v1.31.0', kind: 'v0.24.0', helm: 'v3.14.4' }]
281-
image-variant:
282-
- standard
283-
steps:
284-
- uses: actions/checkout@v4
285-
with:
286-
ref: main
287-
- uses: ./.github/workflows/composite-actions/regression-tests
288-
289-
regression_tests_17:
290-
name: v1.17.x regression tests
291-
if: ${{ (github.event_name == 'workflow_dispatch' && inputs.run-regression && inputs.branch == 'v1.17.x') || github.event.schedule == '0 6 * * 1' }}
292-
runs-on: ubuntu-22.04
293-
timeout-minutes: 60
294-
strategy:
295-
fail-fast: false
296-
matrix:
297-
# ingress are deprecated from 1.17. Ref: https://solo-io-corp.slack.com/archives/G01EERAK3KJ/p1716389614777799
298-
kube-e2e-test-type: [ 'gateway', 'gloo', 'helm', 'upgrade' ]
299-
kube-version: [ { node: 'v1.25.16@sha256:5da57dfc290ac3599e775e63b8b6c49c0c85d3fec771cd7d55b45fae14b38d3b', kubectl: 'v1.25.16', kind: 'v0.20.0', helm: 'v3.13.2' },
300-
{ node: 'v1.29.2@sha256:51a1434a5397193442f0be2a297b488b6c919ce8a3931be0ce822606ea5ca245', kubectl: 'v1.29.2', kind: 'v0.20.0', helm: 'v3.14.4' } ]
301-
steps:
302-
- uses: actions/checkout@v4
303-
with:
304-
ref: v1.17.x
305-
- uses: ./.github/workflows/composite-actions/regression-tests
306-
307-
regression_tests_16:
308-
name: v1.16.x regression tests
309-
if: ${{ (github.event_name == 'workflow_dispatch' && inputs.run-regression && inputs.branch == 'v1.16.x') || github.event.schedule == '0 7 * * 1' }}
310-
runs-on: ubuntu-22.04
311-
timeout-minutes: 60
312-
strategy:
313-
fail-fast: false
314-
matrix:
315-
kube-e2e-test-type: ['gateway', 'gloo', 'ingress', 'helm', 'gloomtls', 'glooctl', 'upgrade']
316-
kube-version: [ { node: 'v1.25.16@sha256:5da57dfc290ac3599e775e63b8b6c49c0c85d3fec771cd7d55b45fae14b38d3b', kubectl: 'v1.25.16', kind: 'v0.20.0', helm: 'v3.13.2' },
317-
{ node: 'v1.28.0@sha256:b7a4cad12c197af3ba43202d3efe03246b3f0793f162afb40a33c923952d5b31', kubectl: 'v1.28.4', kind: 'v0.20.0', helm: 'v3.14.4' }]
318-
steps:
319-
- uses: actions/checkout@v4
320-
with:
321-
ref: v1.16.x
322-
- uses: ./.github/workflows/composite-actions/regression-tests
323-
324-
regression_tests_15:
325-
name: v1.15.x regression tests
326-
if: ${{ (github.event_name == 'workflow_dispatch' && inputs.run-regression && inputs.branch == 'v1.15.x') || github.event.schedule == '0 8 * * 1' }}
327-
runs-on: ubuntu-22.04
328-
timeout-minutes: 60
329-
strategy:
330-
fail-fast: false
331-
matrix:
332-
kube-e2e-test-type: ['gateway', 'gloo', 'ingress', 'helm', 'gloomtls', 'glooctl', 'upgrade']
333-
kube-version: [ { node: 'v1.23.13@sha256:ef453bb7c79f0e3caba88d2067d4196f427794086a7d0df8df4f019d5e336b61', kubectl: 'v1.23.17', kind: 'v0.17.0', helm: 'v3.11.2' },
334-
{ node: 'v1.27.3@sha256:3966ac761ae0136263ffdb6cfd4db23ef8a83cba8a463690e98317add2c9ba72', kubectl: 'v1.27.3', kind: 'v0.20.0', helm: 'v3.13.2' } ]
335-
steps:
336-
- uses: actions/checkout@v4
337-
with:
338-
ref: v1.15.x
339-
- uses: ./.github/workflows/composite-actions/regression-tests
340-
341124
performance_tests_on_demand:
342125
name: on demand performance tests
343126
if: ${{ github.event_name == 'workflow_dispatch' && inputs.run-performance && inputs.branch == 'workflow_initiating_branch' }}
@@ -350,107 +133,11 @@ jobs:
350133
- uses: ./.github/workflows/composite-actions/prep-go-runner
351134
- uses: ./.github/workflows/composite-actions/performance-tests
352135

353-
performance_tests_main:
354-
name: main performance tests
355-
if: ${{ (github.event_name == 'workflow_dispatch' && inputs.run-performance && inputs.branch == 'main') || github.event.schedule == '0 5 * * *' }}
356-
runs-on: ubuntu-22.04
357-
timeout-minutes: 60
358-
steps:
359-
- uses: actions/checkout@v4
360-
with:
361-
ref: main
362-
- uses: ./.github/workflows/composite-actions/prep-go-runner
363-
- uses: ./.github/workflows/composite-actions/performance-tests
364-
365-
performance_tests_17:
366-
name: v1.17.x performance tests
367-
if: ${{ (github.event_name == 'workflow_dispatch' && inputs.run-performance && inputs.branch == 'v1.17.x') || github.event.schedule == '0 6 * * 1' }}
368-
runs-on: ubuntu-22.04
369-
timeout-minutes: 60
370-
steps:
371-
- uses: actions/checkout@v4
372-
with:
373-
ref: v1.17.x
374-
- uses: ./.github/workflows/composite-actions/prep-go-runner
375-
- uses: ./.github/workflows/composite-actions/performance-tests
376-
377-
performance_tests_16:
378-
name: v1.16.x performance tests
379-
if: ${{ (github.event_name == 'workflow_dispatch' && inputs.run-performance && inputs.branch == 'v1.16.x') || github.event.schedule == '0 7 * * 1' }}
380-
runs-on: ubuntu-22.04
381-
timeout-minutes: 60
382-
steps:
383-
- uses: actions/checkout@v4
384-
with:
385-
ref: v1.16.x
386-
- uses: ./.github/workflows/composite-actions/prep-go-runner
387-
- uses: ./.github/workflows/composite-actions/performance-tests
388-
389-
performance_tests_15:
390-
name: v1.15.x performance tests
391-
if: ${{ (github.event_name == 'workflow_dispatch' && inputs.run-performance && inputs.branch == 'v1.15.x') || github.event.schedule == '0 8 * * 1' }}
392-
runs-on: ubuntu-22.04
393-
timeout-minutes: 60
394-
steps:
395-
- uses: actions/checkout@v4
396-
with:
397-
ref: v1.15.x
398-
- uses: ./.github/workflows/composite-actions/prep-go-runner
399-
- uses: ./.github/workflows/composite-actions/performance-tests
400-
401-
kube_gateway_api_conformance_tests_main:
402-
name: Conformance (branch=main, type=Kubernetes Gateway API, version=${{matrix.kube-version.node}} )
403-
if: ${{ (github.event_name == 'workflow_dispatch' && inputs.run-conformance && inputs.branch == 'main') || github.event.schedule == '0 5 * * *' }}
404-
runs-on: ubuntu-22.04
405-
timeout-minutes: 60
406-
strategy:
407-
fail-fast: false
408-
matrix:
409-
kube-version: [ { node: 'v1.27.3@sha256:3966ac761ae0136263ffdb6cfd4db23ef8a83cba8a463690e98317add2c9ba72', kubectl: 'v1.27.3', kind: 'v0.20.0', helm: 'v3.13.2' },
410-
{ node: 'v1.31.0@sha256:53df588e04085fd41ae12de0c3fe4c72f7013bba32a20e7325357a1ac94ba865', kubectl: 'v1.31.0', kind: 'v0.24.0', helm: 'v3.14.4' }]
411-
image-variant:
412-
- standard
413-
steps:
414-
- uses: actions/checkout@v4
415-
with:
416-
ref: main
417-
- uses: ./.github/workflows/composite-actions/kube-gateway-api-conformance-tests
418-
419-
kube_gateway_api_conformance_tests_17:
420-
name: Conformance (branch=v1.17.x, type=Kubernetes Gateway API, version=${{matrix.kube-version.node}} )
421-
if: ${{ (github.event_name == 'workflow_dispatch' && inputs.run-conformance && inputs.branch == 'v1.17.x') || github.event.schedule == '0 6 * * 1' }}
422-
runs-on: ubuntu-22.04
423-
timeout-minutes: 60
424-
strategy:
425-
fail-fast: false
426-
matrix:
427-
kube-version: [ { node: 'v1.25.16@sha256:5da57dfc290ac3599e775e63b8b6c49c0c85d3fec771cd7d55b45fae14b38d3b', kubectl: 'v1.25.16', kind: 'v0.20.0', helm: 'v3.13.2' },
428-
{ node: 'v1.29.2@sha256:51a1434a5397193442f0be2a297b488b6c919ce8a3931be0ce822606ea5ca245', kubectl: 'v1.29.2', kind: 'v0.20.0', helm: 'v3.14.4' } ]
429-
image-variant:
430-
- standard
431-
steps:
432-
- uses: actions/checkout@v4
433-
with:
434-
ref: v1.17.x
435-
- uses: ./.github/workflows/composite-actions/kube-gateway-api-conformance-tests
436-
437136
publish_results:
438137
runs-on: ubuntu-22.04
439138
timeout-minutes: 5
440139
if: ${{ always() }}
441140
needs:
442-
- end_to_end_tests_main
443-
- end_to_end_tests_17
444-
- regression_tests_main
445-
- regression_tests_17
446-
- regression_tests_16
447-
- regression_tests_15
448-
- performance_tests_main
449-
- performance_tests_17
450-
- performance_tests_16
451-
- performance_tests_15
452-
- kube_gateway_api_conformance_tests_main
453-
- kube_gateway_api_conformance_tests_17
454141
- end_to_end_tests_on_demand
455142
- regression_tests_on_demand
456143
- performance_tests_on_demand
@@ -465,18 +152,6 @@ jobs:
465152
trigger="Gloo OSS Manual run"
466153
branch=${{ inputs.branch }}
467154
echo "SLACK_CHANNEL=C0314KESVNV" >> $GITHUB_ENV #slack-integration-testing if manually run
468-
elif [[ ${{github.event.schedule == '0 5 * * *'}} = true ]]; then
469-
trigger="Gloo OSS nightlies"
470-
branch="main"
471-
elif [[ ${{github.event.schedule == '0 6 * * 1'}} = true ]]; then
472-
trigger="Gloo OSS weeklies"
473-
branch="v1.17.x"
474-
elif [[ ${{github.event.schedule == '0 7 * * 1'}} = true ]]; then
475-
trigger="Gloo OSS weeklies"
476-
branch="v1.16.x"
477-
elif [[ ${{github.event.schedule == '0 8 * * 1'}} = true ]]; then
478-
trigger="Gloo OSS nightlies"
479-
branch="v1.15.x"
480155
fi
481156
preamble="$trigger ($branch)"
482157
echo "Setting PREAMBLE as $preamble"
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
changelog:
2+
- type: NON_USER_FACING
3+
description: >-
4+
Cleanup the v1.18.x branch after creating it

0 commit comments

Comments
 (0)