
On Wed, Mar 02, 2022 at 03:52:49PM +0100, Erik Skultety wrote:
On Wed, Mar 02, 2022 at 06:27:04AM -0800, Andrea Bolognani wrote:
I don't think we can expect integration tests to be merged at the same time as a feature when new APIs are involved. If tests are written in Python, then the Python bindings need to introduce support for the new API before the test can exist, and that can't happen until the feature has been merged.
Again, that is a logical conclusion which brings us to an unrelated process question: How do we change the contribution process so that the contribution of a feature doesn't end with it being merged to the C library, IOW we'd ideally want to have a test introduced with every feature,but given that we'd need the bindings first to actually do that, but we can't have a binding unless the C counterpart is already merged, how do we keep the contributors motivated enough? (Note that it's food for thought, it's only tangential to this effort)
Yeah, let's save this massive topic for another time :)
If the feature or bug fix doesn't require new APIs to be introduced this is of course not an issue. Most changes should fall into this bucket.
So overall I still think using existing artifacts would be the better approach, at least initially. We can always change things later if we find that we've outgrown it.
So, given that https://gitlab.com/libvirt/libvirt-perl/-/merge_requests/55 was already merged we should not get to a situation where no artifacts would be available because gitlab documents that even if artifacts expired they won't be deleted until new artifacts become available, I think we can depend on the latest available artifacts without building them. I'll refresh the patch accordingly and test.
Thanks!
I think it's not unreasonable that when Red Hat, or any other entity, provides hardware access to the project there will be some strings attached. This is already the case for GitLab and Cirrus CI, for example.
I could easily see the instance of libvirt-gitlab-executor running on hardware owned and operated by Red Hat returning a failure if a job submitted to it comes with DISTRO=debian-11.
libvirt-gitlab-executor is supposed to be system owner agnostic, I'd even like to make the project part of the libvirt gitlab namespace umbrella so that anyone can use it to prepare their machine to be plugged into and used for libvirt upstream integration testing.
I absolutely agree and it was always my understanding that the project living under your personal account was only a temporary measure.
Therefore, I don't think the project is the right place for such checks, those should IMO live solely in the gitlab-ci.yml configuration.
To be clear, I didn't mean that the software itself should contain hardcoded limits on what jobs it will process, but rather that it would make sense for it to offer a configuration setting along the lines of accept_distros: - "alpine-*" - "debian-*" that can be used by the local sysadmin to define such a policy. I guess this is already sort of already implicitly implemented due to the fact that a job will fail if the corresponding VM template does not exist... -- Andrea Bolognani / Red Hat / Virtualization