On 19/11/2025 09.05, Paolo Bonzini wrote:


Il mar 18 nov 2025, 22:50 John Snow <[email protected] <mailto:[email protected]>> ha scritto:



    On Mon, Nov 17, 2025, 3:47 PM Paolo Bonzini <[email protected]
    <mailto:[email protected]>> wrote:



        Il lun 17 nov 2025, 20:07 Daniel P. Berrangé <[email protected]
        <mailto:[email protected]>> ha scritto:

            On Mon, Nov 17, 2025 at 01:51:25PM -0500, John Snow wrote:
             > In order to convert the existing Makefile target from a manual
             > invocation of mkvenv to one that uses the meson dependency
            system, we
             > need to not suppress ninja here.
             >
             > I'm not sure if this creates problems I am not aware of; but
            invoking
             > ninja here is no longer spurious but will become necessary.

            Yes, this will likely create problems. From the commit message that
            introduced NINJA=":"...

              Avoid it with the same
                 trick that we are using in buildtest-template.yml already
            by disabling
                 the up-to-date check via NINJA=":".


        Move the check-venv call to buildtest-template.yml, right after
        configure? It's cheap enough.

        Paolo


    What's the root issue here? That there's enough of a time delay between
    the actual configure and the test running that it re-runs configure?


That the git repo is cloned again and is therefore newer than the artifacts. That triggers a full rebuild.

Right. At least for the other "functional" and "check-system" jobs in our CI, this was a big issue, calling "make check-functional/qtest/iotest" there triggered a rebuild of all binaries, increasing our CI runtime significantly.

For the "crash test" jobs, it was mainly about avoiding to rerun the "configure" step for cosmetical reasons each time the job runs. The rebuild of the qemu binaries is triggered by "make check-iotests/qtests/function" in the other jobs, and not by "make check-venv" alone, so it's not as bad as in the other jobs here: Without your patch, the jobs take about 16 minutes (crash-test-debian) and 10 minutes (crash-test-fedora):

 https://gitlab.com/thuth/qemu/-/jobs/12138792667
 https://gitlab.com/thuth/qemu/-/jobs/12138792674

With your patch applied:

 https://gitlab.com/thuth/qemu/-/jobs/12139438583
 https://gitlab.com/thuth/qemu/-/jobs/12139438599

the jobs take approx. the same amount of time, so I think it's OK here to drop the NINJA=":" again.

But I think we should give Paolo's idea a try and move the "make check-venv" to buildtest-template.yml instead. In fact, that might even help to slightly decrease the total runtime of the jobs since all the other "check" jobs don't have to do this again (for example the check-functional jobs are running it, too, see: https://gitlab.com/qemu-project/qemu/-/jobs/12139584312#L1051).

 Thomas


Reply via email to