[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ROCm CI: Scheduling for experimental active again



On 2024-01-10 21:35, Cordell Bloor wrote:
> There are other ways we might want to prune the triggers as well. Seem
> to be using the package build dependencies as the basis to determine if
> the tests are triggered, but the root of the dependency walking should
> really be the binary dependencies of the autopkgtest.
> 
> For example, we're rerunning the rocsparse autopkgtest for a new
> experimental version of kmod. This is because kmod is a dependency of
> rocminfo and rocminfo is a dependency of hipcc. However, hipcc is only a
> build dependency of rocsparse-test, not a runtime dependency. So, when
> using a pre-built copy of rocsparse-test as we do in the autopkgtest,
> the updated kmod cannot affect the outcome of the test, and the test is
> redundant.
> 
> I could imagine that at some point we might add an autopkgtest that does
> depend on hipcc, but it would be nice if the triggering of each
> Test-Command could be filtered based on the Depends tree for that
> command. I think it would dramatically reduce the CI utilization without
> affecting the CI coverage, which will be necessary as we continue to
> scale up the number of packages we're testing.

This has been implemented, and is live on ci.rocm.debian.net.

I've switch the wantlist over to track all of the relevant -tests packages.

One consequence of this is that some packages dropped out of testing, as
they didn't have tests, but could otherwise trigger tests. These were
rccl, rocm-cmake, rocminfo (this one triggered a large cascade via kmod).

I did not drop all packages without tests, however. rocm-hipamd was
limited to checking dependencies of libhipamd64-5, and rocr-runtime and
rocm-smi-libs were left untouched. The assumption being that even though
these packages don't have tests, we want changes to them to cascade over
all transitive reverse dependencies, and have their tests run.

Finally, this meant that I could also drop all the "skips" for some
package; these are lists of triggers to ignore. We had them for -doc
packages (which triggered on eg: sphinx-rtd-theme), but as these
packages are no longer checked, the skips became superfluous.

In future, if (say) rocminfo gets tests, we can re-add them to the
wantlist, but should add a skip for 'kmod'.

Best,
Christian

PS: I noticed that I erroneously listed rocm-smi as a source package to
track (which doesn't exist), in addition to the correct rocm-smi-lib.
I'll clean out the DB once I'm confident that I don't trash anything by
simply deleting histories, pending jobs, and queues.


Reply to: