-
-
Notifications
You must be signed in to change notification settings - Fork 372
tests: Optimize CI test matrix to reduce workflow duration #2629
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
base: main
Are you sure you want to change the base?
Conversation
This PR restructures the CI test matrix to significantly reduce overall workflow duration while maintaining full test coverage and improving maintainability. resolve: lxc#2628 1. Introduced `test-category` split to divide test cases into logical groups: - core, storage, network, security, misc This reduces the number of tests executed per job, allowing them to complete faster. 2. Standardized full test runs to use the `dir` backend. - Ensures full functionality coverage with minimal overhead. 3. Storage backend tests are now isolated to: - suite: standalone - category: storage - backends: [btrfs, lvm, zfs, ceph, linstor, random] - suite: cluster - category: all - backends: [btrfs, lvm, zfs, ceph, linstor, random] This ensures backend behavior is validated without impacting other categories. 4. Ensured both `ubuntu-24.04` and `ubuntu-24.04-arm` continue to be supported. Signed-off-by: baconyao <[email protected]>
|
Thanks a lot for the work! I'll try to look more into this later today or tomorrow. I'll most likely be doing a few minor edits to the commit, splitting things up into distinct commits and trying a few tweaks to the Github workflow config to try and make it more readable. |
|
Hi! Where has |
Hi @bensmrs Thank you for helping identify the missing test cases — I think I really did overlook some of them. Since I'm not very familiar with the overall Incus ecosystem, I proposed this PoC. I believe the most important part is categorizing the test cases. For now, I’ve only roughly grouped them into core, storage, network, security, and misc. However, I think these categories can be further refined, so I’d appreciate suggestions and ideas from everyone with more experience. |
|
Well I don’t think it needs to be any more refined than that, so you just have to properly categorize the missing tests. However, |
Signed-off-by: baconyao <[email protected]>
Signed-off-by: baconyao <[email protected]>
|
Hi @stgraber, may I know is there any suggestion about this PR that I can improve? Thanks! |
|
@baconYao the current version appears to break all of the But don't worry too much about that, I was going to track it down, patch up the PR and merge it. I've just been incredibly busy for the past week so haven't had time to do it yet, sorry. |
This PR restructures the CI test matrix to significantly reduce overall workflow duration while maintaining full test coverage and improving maintainability.
resolve: #2628
Changes Introduced
Introduced
test-categorysplit to divide test cases into logical groups:This reduces the number of tests executed per job, allowing them to complete faster.
Standardized full test runs to use the
dirbackend.Storage backend tests are now isolated to:
suite: standalone
suite: cluster
This ensures backend behavior is validated without impacting other categories.
Ensured both
ubuntu-24.04andubuntu-24.04-armcontinue to be supported.