We’re running tests on every CentOS Stream compose on aarch64, x86_64, and ppc64le. All VMs, and then one x86_64 bare metal.
It works like this:
Our rel-eng Jenkins (c9s release [Jenkins]) starts a c8s and c9s production compose every Monday, Wednesday, Friday, Saturday. That triggers ODCS which calls Pungi, and the composes end up here:
When that succeeds, tests get run on the Testing Jenkins (https://testing.stream.centos.org/).
Machines get deployed with c8s and c9s from the compose that’s being tested, and then the t_functional test suite (GitHub - CentOS/sig-core-t_functional) gets executed in those.
And then every week, we (the CentOS Stream) look at the results, and if they passed, we release the latest compose out to mirrors, push new images, etc.
I’d like to discuss a good contribution model to the t_functional test suite. Right now we merge whatever works and “feels right”. I also have some open questions:
- What if a test starts failing? Do we hold the release? For how long?
- Should there be a subset of blocking tests that we hold a release for, and a separate set of just informative tests we won’t hold a release for?
Also, right now the tests live on Github, and then it’s synced to a second repo (Overview - centos/t_functional - CentOS Git server) and that’s where Jenkins sees it. This is a legacy setup, the Github repo was set up in the past mostly to get pull requests I’m told.
So that might be a second thing to discuss — what if we consolidated these two? Since we now have an official CentOS Stream space on Gitlab, perhaps we could move it there?
What do you people think?