Message ID | 20221006151927.2079583-18-bmeng.cn@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tests/qtest: Enable running qtest on Windows | expand |
Hi On Thu, Oct 6, 2022 at 8:16 PM Bin Meng <bmeng.cn@gmail.com> wrote: > From: Bin Meng <bin.meng@windriver.com> > > commit 9f8e6cad65a6 ("gitlab-ci: Speed up the msys2-64bit job by using > --without-default-devices" > changed to compile QEMU with the --without-default-devices switch for > the msys2-64bit job, due to the build could not complete within the > project timeout (1h), and also mentioned that a bigger timeout was > getting ignored on the shared Gitlab-CI Windows runners. > > However as of today it seems the shared Gitlab-CI Windows runners does > honor the job timeout, and the runner has the timeout limit of 2h, so > let's increase the timeout to 90 minutes and drop the configure switch > "--without-default-devices" to get a larger build coverage. > > Signed-off-by: Bin Meng <bin.meng@windriver.com> > Given the discussion in "[PATCH v2 36/39] .gitlab-ci.d/windows.yml: Increase the timeout to 90 minutes", maybe we should drop this patch for now? --- > > (no changes since v2) > > Changes in v2: > - Change the timeout limit to 90 minutes > > .gitlab-ci.d/windows.yml | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml > index a3e7a37022..093276ddbc 100644 > --- a/.gitlab-ci.d/windows.yml > +++ b/.gitlab-ci.d/windows.yml > @@ -10,7 +10,7 @@ > - ${CI_PROJECT_DIR}/msys64/var/cache > needs: [] > stage: build > - timeout: 70m > + timeout: 90m > before_script: > - If ( !(Test-Path -Path msys64\var\cache ) ) { > mkdir msys64\var\cache > @@ -60,7 +60,7 @@ msys2-64bit: > - $env:MSYSTEM = 'MINGW64' # Start a 64 bit Mingw environment > - $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink > - .\msys64\usr\bin\bash -lc './configure --target-list=x86_64-softmmu > - --enable-capstone --without-default-devices' > + --enable-capstone' > - .\msys64\usr\bin\bash -lc 'make' > - .\msys64\usr\bin\bash -lc 'make check || { cat > build/meson-logs/testlog.txt; exit 1; } ;' > > -- > 2.34.1 > > >
On Fri, Oct 7, 2022 at 5:57 PM Marc-André Lureau <marcandre.lureau@gmail.com> wrote: > > Hi > > On Thu, Oct 6, 2022 at 8:16 PM Bin Meng <bmeng.cn@gmail.com> wrote: >> >> From: Bin Meng <bin.meng@windriver.com> >> >> commit 9f8e6cad65a6 ("gitlab-ci: Speed up the msys2-64bit job by using --without-default-devices" >> changed to compile QEMU with the --without-default-devices switch for >> the msys2-64bit job, due to the build could not complete within the >> project timeout (1h), and also mentioned that a bigger timeout was >> getting ignored on the shared Gitlab-CI Windows runners. >> >> However as of today it seems the shared Gitlab-CI Windows runners does >> honor the job timeout, and the runner has the timeout limit of 2h, so >> let's increase the timeout to 90 minutes and drop the configure switch >> "--without-default-devices" to get a larger build coverage. >> >> Signed-off-by: Bin Meng <bin.meng@windriver.com> > > > Given the discussion in "[PATCH v2 36/39] .gitlab-ci.d/windows.yml: Increase the timeout to 90 minutes", maybe we should drop this patch for now? > Unfortunately there is not a good solution to make the CI complete within 90 minutes to finish the Windows qTtest CI without "--without-default-devices" Regards, Bin
On 06/10/2022 17.19, Bin Meng wrote: > From: Bin Meng <bin.meng@windriver.com> > > commit 9f8e6cad65a6 ("gitlab-ci: Speed up the msys2-64bit job by using --without-default-devices" > changed to compile QEMU with the --without-default-devices switch for > the msys2-64bit job, due to the build could not complete within the > project timeout (1h), and also mentioned that a bigger timeout was > getting ignored on the shared Gitlab-CI Windows runners. > > However as of today it seems the shared Gitlab-CI Windows runners does > honor the job timeout, and the runner has the timeout limit of 2h, so > let's increase the timeout to 90 minutes and drop the configure switch > "--without-default-devices" to get a larger build coverage. > > Signed-off-by: Bin Meng <bin.meng@windriver.com> > --- > > (no changes since v2) > > Changes in v2: > - Change the timeout limit to 90 minutes > > .gitlab-ci.d/windows.yml | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml > index a3e7a37022..093276ddbc 100644 > --- a/.gitlab-ci.d/windows.yml > +++ b/.gitlab-ci.d/windows.yml > @@ -10,7 +10,7 @@ > - ${CI_PROJECT_DIR}/msys64/var/cache > needs: [] > stage: build > - timeout: 70m > + timeout: 90m > before_script: > - If ( !(Test-Path -Path msys64\var\cache ) ) { > mkdir msys64\var\cache > @@ -60,7 +60,7 @@ msys2-64bit: > - $env:MSYSTEM = 'MINGW64' # Start a 64 bit Mingw environment > - $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink > - .\msys64\usr\bin\bash -lc './configure --target-list=x86_64-softmmu > - --enable-capstone --without-default-devices' > + --enable-capstone' > - .\msys64\usr\bin\bash -lc 'make' > - .\msys64\usr\bin\bash -lc 'make check || { cat build/meson-logs/testlog.txt; exit 1; } ;' > I just gave your patch set a try in the gitlab-CI, and for me it even did not finish within 90 minutes: https://gitlab.com/thuth/qemu/-/jobs/3156107033 I think we have to do something different if we want to run the qtests in this CI pipeline ... e.g. disable some subsystems? Try if compiling with "-O1" is faster than compiling with "-O2" ? Use a different target-list ? (well, the latter would be a pity since we would lose compile-testing the HAX and WHPX support) ... Sorry, I've got no really good clue here :-/ Additionally, there was also this error in line 2792: ERROR:../tests/unit/test-aio.c:501:test_timer_schedule: assertion failed: (aio_poll(ctx, true)) Is that something new? Thomas
On Tue, Oct 11, 2022 at 10:41 PM Thomas Huth <thuth@redhat.com> wrote: > > On 06/10/2022 17.19, Bin Meng wrote: > > From: Bin Meng <bin.meng@windriver.com> > > > > commit 9f8e6cad65a6 ("gitlab-ci: Speed up the msys2-64bit job by using --without-default-devices" > > changed to compile QEMU with the --without-default-devices switch for > > the msys2-64bit job, due to the build could not complete within the > > project timeout (1h), and also mentioned that a bigger timeout was > > getting ignored on the shared Gitlab-CI Windows runners. > > > > However as of today it seems the shared Gitlab-CI Windows runners does > > honor the job timeout, and the runner has the timeout limit of 2h, so > > let's increase the timeout to 90 minutes and drop the configure switch > > "--without-default-devices" to get a larger build coverage. > > > > Signed-off-by: Bin Meng <bin.meng@windriver.com> > > --- > > > > (no changes since v2) > > > > Changes in v2: > > - Change the timeout limit to 90 minutes > > > > .gitlab-ci.d/windows.yml | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml > > index a3e7a37022..093276ddbc 100644 > > --- a/.gitlab-ci.d/windows.yml > > +++ b/.gitlab-ci.d/windows.yml > > @@ -10,7 +10,7 @@ > > - ${CI_PROJECT_DIR}/msys64/var/cache > > needs: [] > > stage: build > > - timeout: 70m > > + timeout: 90m > > before_script: > > - If ( !(Test-Path -Path msys64\var\cache ) ) { > > mkdir msys64\var\cache > > @@ -60,7 +60,7 @@ msys2-64bit: > > - $env:MSYSTEM = 'MINGW64' # Start a 64 bit Mingw environment > > - $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink > > - .\msys64\usr\bin\bash -lc './configure --target-list=x86_64-softmmu > > - --enable-capstone --without-default-devices' > > + --enable-capstone' > > - .\msys64\usr\bin\bash -lc 'make' > > - .\msys64\usr\bin\bash -lc 'make check || { cat build/meson-logs/testlog.txt; exit 1; } ;' > > > > I just gave your patch set a try in the gitlab-CI, and for me it even did > not finish within 90 minutes: > > https://gitlab.com/thuth/qemu/-/jobs/3156107033 That's longer than mine. My test took about 80 minutes. https://gitlab.com/lbmeng/qemu/-/jobs/3137520040 Not sure if it relates to the MSYS2 required tools installation before the build starts? Or the shared runner was too overloaded? > > I think we have to do something different if we want to run the qtests in > this CI pipeline ... e.g. disable some subsystems? Try if compiling with > "-O1" is faster than compiling with "-O2" ? Use a different target-list ? > (well, the latter would be a pity since we would lose compile-testing the > HAX and WHPX support) ... Sorry, I've got no really good clue here :-/ The gitlab shared Windows runners are too slow. Is there any alternatives for this (e.g.: github, azure)? > > Additionally, there was also this error in line 2792: > > ERROR:../tests/unit/test-aio.c:501:test_timer_schedule: assertion failed: > (aio_poll(ctx, true)) > > Is that something new? > I never saw this error before. I guess it's unrelated as this series did not touch unit tests but qtests. Regards, Bin
diff --git a/.gitlab-ci.d/windows.yml b/.gitlab-ci.d/windows.yml index a3e7a37022..093276ddbc 100644 --- a/.gitlab-ci.d/windows.yml +++ b/.gitlab-ci.d/windows.yml @@ -10,7 +10,7 @@ - ${CI_PROJECT_DIR}/msys64/var/cache needs: [] stage: build - timeout: 70m + timeout: 90m before_script: - If ( !(Test-Path -Path msys64\var\cache ) ) { mkdir msys64\var\cache @@ -60,7 +60,7 @@ msys2-64bit: - $env:MSYSTEM = 'MINGW64' # Start a 64 bit Mingw environment - $env:MSYS = 'winsymlinks:native' # Enable native Windows symlink - .\msys64\usr\bin\bash -lc './configure --target-list=x86_64-softmmu - --enable-capstone --without-default-devices' + --enable-capstone' - .\msys64\usr\bin\bash -lc 'make' - .\msys64\usr\bin\bash -lc 'make check || { cat build/meson-logs/testlog.txt; exit 1; } ;'