-
Notifications
You must be signed in to change notification settings - Fork 368
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 GitHub workflows for OS testing #3388
Conversation
Introduce a callable GitHub workflow that leverages the Terraform modules for OS testing to bring up a k0s cluster on AWS against which Kubernetes conformance tests will be executed. The workflow features parallel test execution to speed up test duration, if desired. Note that test results collected in parallel are most likely not accepted by the Kubernetes conformance test repo. If the tests should be submitted there, it's advised to set the `e2e-concurrency- level` to 1. Moreover, provide a matrix workflow that bundles up the first one into a matrix build, so that multiple OS and network provider configurations may be tested using a single workflow, and a nightly trigger which chooses a single OS/network provider combination to be run on a nightly basis. Signed-off-by: Tom Wieczorek <[email protected]>
468fb91
to
52a1dcb
Compare
# combinations and select an entry based on the current day. This approach | ||
# ensures that, if run once each day, there is a significant variation in | ||
# parameter values each day while also guaranteeing that every combination | ||
# will be chosen at some point. |
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.
Did I understand this correctly: We have 22 OSes and 2 network providers on the matrix, this means 44 items. So each combo, say Alpine 3.17 with Calico, will be tested every 44 days?
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.
Yes, that's the idea. Every day another OS and network provider until all permutations have been tested. Then start over from the beginning.
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.
Starting from today, this would be list of combinations for each day:
rocky_9/kuberouter
ubuntu_2204/calico
centos_9/kuberouter
debian_12/calico
oracle_9_1/kuberouter
rhel_9/calico
ubuntu_2304/kuberouter
alpine_3_17/calico
centos_7/kuberouter
debian_10/calico
fcos_38/kuberouter
fedora_38/calico
flatcar/kuberouter
oracle_7_9/calico
rhel_7/kuberouter
rocky_8/calico
ubuntu_2004/kuberouter
centos_8/calico
debian_11/kuberouter
oracle_8_7/calico
rhel_8/kuberouter
rocky_9/calico
ubuntu_2204/kuberouter
centos_9/calico
debian_12/kuberouter
oracle_9_1/calico
rhel_9/kuberouter
ubuntu_2304/calico
alpine_3_17/kuberouter
centos_7/calico
debian_10/kuberouter
fcos_38/calico
fedora_38/kuberouter
flatcar/calico
oracle_7_9/kuberouter
rhel_7/calico
rocky_8/kuberouter
ubuntu_2004/calico
centos_8/kuberouter
debian_11/calico
oracle_8_7/kuberouter
rhel_8/calico
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.
Specific combinations or bulk tests for many configurations may be triggered manually via the matrix job, if needed.
Description
Introduce a callable GitHub workflow that leverages the Terraform modules for OS testing to bring up a k0s cluster on AWS against which Kubernetes conformance tests will be executed.
The workflow features parallel test execution to speed up test duration, if desired. Note that test results collected in parallel are most likely not accepted by the Kubernetes conformance test repo. If the tests should be submitted there, it's advised to set the
e2e-concurrency-level
to 1.Moreover, provide a matrix workflow that bundles up the first one into a matrix build, so that multiple OS and network provider configurations may be tested using a single workflow, and a nightly trigger which chooses a single OS/network provider combination to be run on a nightly basis.
See:
Type of change
How Has This Been Tested?
Checklist: