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