mbox

[PULL,00/13] testing updates (gitlab, cirrus, docker, avocado, windows)

Message ID 20230223155720.310593-1-alex.bennee@linaro.org
State New
Headers show

Pull-request

https://gitlab.com/stsquad/qemu.git tags/pull-testing-next-230223-1

Message

Alex Bennée Feb. 23, 2023, 3:57 p.m. UTC
The following changes since commit 79b677d658d3d35e1e776826ac4abb28cdce69b8:

  Merge tag 'net-pull-request' of https://github.com/jasowang/qemu into staging (2023-02-21 11:28:31 +0000)

are available in the Git repository at:

  https://gitlab.com/stsquad/qemu.git tags/pull-testing-next-230223-1

for you to fetch changes up to e9969376f01180d7bcbee25ae8333983da7eda2c:

  cirrus.yml: Improve the windows_msys2_task (2023-02-23 15:48:23 +0000)

----------------------------------------------------------------
testing updates:

  - ensure socat available for tests
  - skip socat tests for MacOS
  - properly clean up fifos after use
  - make fp-test less chatty
  - store test artefacts on Cirrus
  - control custom runners with QEMU_CI knobs
  - disable benchmark runs under tsan build
  - update ubuntu 2004 to 2204
  - skip nios2 kernel replay test
  - add tuxrun baselines to avocado
  - binary build of tricore tools
  - export test results on cross builds
  - improve windows builds

----------------------------------------------------------------
Alex Bennée (10):
      tests: don't run socat tests on MacOS as well
      tests: add socat dependency for tests
      tests: be a bit more strict cleaning up fifos
      tests: make fp-test less chatty when running from test suite
      gitlab: extend custom runners with base_job_template
      tests: don't run benchmarks for the tsan build
      testing: update ubuntu2004 to ubuntu2204
      tests: skip the nios2 replay_kernel test
      tests: add tuxrun baseline test to avocado
      tests: ensure we export job results for some cross builds

Bastian Koppelmann (1):
      tests/docker: Use binaries for debian-tricore-cross

Thomas Huth (2):
      gitlab-ci: Use artifacts instead of dumping logs in the Cirrus-CI jobs
      cirrus.yml: Improve the windows_msys2_task

 MAINTAINERS                                        |   1 +
 docs/devel/testing.rst                             |   4 +-
 tests/tcg/tricore/macros.h                         |   2 +-
 tests/fp/fp-test.c                                 |  19 +-
 tests/unit/test-io-channel-command.c               |  10 +-
 .cirrus.yml                                        |   8 +-
 .gitlab-ci.d/buildtest.yml                         |  23 +-
 .gitlab-ci.d/cirrus/build.yml                      |   7 +-
 .gitlab-ci.d/cirrus/freebsd-12.vars                |   2 +-
 .gitlab-ci.d/cirrus/freebsd-13.vars                |   2 +-
 .gitlab-ci.d/cirrus/macos-12.vars                  |   2 +-
 .gitlab-ci.d/containers.yml                        |   4 +-
 .gitlab-ci.d/crossbuild-template.yml               |  11 +
 .gitlab-ci.d/crossbuilds.yml                       |  12 +-
 .gitlab-ci.d/custom-runners.yml                    |   3 +-
 .gitlab-ci.d/custom-runners/ubuntu-20.04-s390x.yml |  10 +-
 .../custom-runners/ubuntu-22.04-aarch32.yml        |   2 +-
 .../custom-runners/ubuntu-22.04-aarch64.yml        |  10 +-
 tests/avocado/replay_kernel.py                     |   1 +
 tests/avocado/tuxrun_baselines.py                  | 423 +++++++++++++++++++++
 tests/docker/dockerfiles/alpine.docker             |   1 +
 tests/docker/dockerfiles/centos8.docker            |   1 +
 tests/docker/dockerfiles/debian-amd64-cross.docker |   1 +
 tests/docker/dockerfiles/debian-amd64.docker       |   1 +
 tests/docker/dockerfiles/debian-arm64-cross.docker |   1 +
 tests/docker/dockerfiles/debian-armel-cross.docker |   1 +
 tests/docker/dockerfiles/debian-armhf-cross.docker |   1 +
 .../dockerfiles/debian-mips64el-cross.docker       |   1 +
 .../docker/dockerfiles/debian-mipsel-cross.docker  |   1 +
 .../docker/dockerfiles/debian-ppc64el-cross.docker |   1 +
 tests/docker/dockerfiles/debian-s390x-cross.docker |   1 +
 .../docker/dockerfiles/debian-tricore-cross.docker |  10 +-
 tests/docker/dockerfiles/fedora-win32-cross.docker |   1 +
 tests/docker/dockerfiles/fedora-win64-cross.docker |   1 +
 tests/docker/dockerfiles/fedora.docker             |   1 +
 tests/docker/dockerfiles/opensuse-leap.docker      |   1 +
 tests/docker/dockerfiles/ubuntu2004.docker         |   4 +-
 tests/docker/dockerfiles/ubuntu2204.docker         | 147 +++++++
 tests/docker/test-tsan                             |   2 +-
 tests/fp/berkeley-testfloat-3                      |   2 +-
 tests/fp/meson.build                               |   2 +-
 tests/lcitool/projects/qemu.yml                    |   1 +
 tests/lcitool/refresh                              |  11 +-
 tests/tcg/tricore/Makefile.softmmu-target          |   6 +-
 44 files changed, 683 insertions(+), 73 deletions(-)
 create mode 100644 tests/avocado/tuxrun_baselines.py
 create mode 100644 tests/docker/dockerfiles/ubuntu2204.docker

Comments

Peter Maydell Feb. 24, 2023, 6:55 p.m. UTC | #1
On Thu, 23 Feb 2023 at 15:57, Alex Bennée <alex.bennee@linaro.org> wrote:
>
> The following changes since commit 79b677d658d3d35e1e776826ac4abb28cdce69b8:
>
>   Merge tag 'net-pull-request' of https://github.com/jasowang/qemu into staging (2023-02-21 11:28:31 +0000)
>
> are available in the Git repository at:
>
>   https://gitlab.com/stsquad/qemu.git tags/pull-testing-next-230223-1
>
> for you to fetch changes up to e9969376f01180d7bcbee25ae8333983da7eda2c:
>
>   cirrus.yml: Improve the windows_msys2_task (2023-02-23 15:48:23 +0000)
>
> ----------------------------------------------------------------
> testing updates:
>
>   - ensure socat available for tests
>   - skip socat tests for MacOS
>   - properly clean up fifos after use
>   - make fp-test less chatty
>   - store test artefacts on Cirrus
>   - control custom runners with QEMU_CI knobs
>   - disable benchmark runs under tsan build
>   - update ubuntu 2004 to 2204
>   - skip nios2 kernel replay test
>   - add tuxrun baselines to avocado
>   - binary build of tricore tools
>   - export test results on cross builds
>   - improve windows builds
>
> ----------------------------------------------------------------

So I've been applying pullreqs relying on a combination of the
private-runner CI jobs plus using the free minutes allowance
on my personal gitlab account, and ad-hoc local builds. I'm
a bit reluctant to do that for this one though, because it's
touching all the gitlab config and we won't be able test that
that is OK until we can do a full run with the standard config.
What do you think ?

thanks
-- PMM
Alex Bennée Feb. 24, 2023, 7:52 p.m. UTC | #2
Peter Maydell <peter.maydell@linaro.org> writes:

> On Thu, 23 Feb 2023 at 15:57, Alex Bennée <alex.bennee@linaro.org> wrote:
>>
>> The following changes since commit 79b677d658d3d35e1e776826ac4abb28cdce69b8:
>>
>>   Merge tag 'net-pull-request' of https://github.com/jasowang/qemu
>> into staging (2023-02-21 11:28:31 +0000)
>>
>> are available in the Git repository at:
>>
>>   https://gitlab.com/stsquad/qemu.git tags/pull-testing-next-230223-1
>>
>> for you to fetch changes up to e9969376f01180d7bcbee25ae8333983da7eda2c:
>>
>>   cirrus.yml: Improve the windows_msys2_task (2023-02-23 15:48:23 +0000)
>>
>> ----------------------------------------------------------------
>> testing updates:
>>
>>   - ensure socat available for tests
>>   - skip socat tests for MacOS
>>   - properly clean up fifos after use
>>   - make fp-test less chatty
>>   - store test artefacts on Cirrus
>>   - control custom runners with QEMU_CI knobs
>>   - disable benchmark runs under tsan build
>>   - update ubuntu 2004 to 2204
>>   - skip nios2 kernel replay test
>>   - add tuxrun baselines to avocado
>>   - binary build of tricore tools
>>   - export test results on cross builds
>>   - improve windows builds
>>
>> ----------------------------------------------------------------
>
> So I've been applying pullreqs relying on a combination of the
> private-runner CI jobs plus using the free minutes allowance
> on my personal gitlab account, and ad-hoc local builds. I'm
> a bit reluctant to do that for this one though, because it's
> touching all the gitlab config and we won't be able test that
> that is OK until we can do a full run with the standard config.
> What do you think ?

This was my run of the tag:

  https://gitlab.com/stsquad/qemu/-/pipelines/787068318/

The FreeBSD failure is the dodgy migration test and the openbsi/edk2
builds fails as 18.04 just went EOL I think. I don't currently have the
s390x runner on my config.

>
> thanks
> -- PMM
Philippe Mathieu-Daudé Feb. 24, 2023, 9:23 p.m. UTC | #3
On 24/2/23 20:52, Alex Bennée wrote:
> 
> Peter Maydell <peter.maydell@linaro.org> writes:
> 
>> On Thu, 23 Feb 2023 at 15:57, Alex Bennée <alex.bennee@linaro.org> wrote:
>>>
>>> The following changes since commit 79b677d658d3d35e1e776826ac4abb28cdce69b8:
>>>
>>>    Merge tag 'net-pull-request' of https://github.com/jasowang/qemu
>>> into staging (2023-02-21 11:28:31 +0000)
>>>
>>> are available in the Git repository at:
>>>
>>>    https://gitlab.com/stsquad/qemu.git tags/pull-testing-next-230223-1
>>>
>>> for you to fetch changes up to e9969376f01180d7bcbee25ae8333983da7eda2c:
>>>
>>>    cirrus.yml: Improve the windows_msys2_task (2023-02-23 15:48:23 +0000)
>>>
>>> ----------------------------------------------------------------
>>> testing updates:
>>>
>>>    - ensure socat available for tests
>>>    - skip socat tests for MacOS
>>>    - properly clean up fifos after use
>>>    - make fp-test less chatty
>>>    - store test artefacts on Cirrus
>>>    - control custom runners with QEMU_CI knobs
>>>    - disable benchmark runs under tsan build
>>>    - update ubuntu 2004 to 2204
>>>    - skip nios2 kernel replay test
>>>    - add tuxrun baselines to avocado
>>>    - binary build of tricore tools
>>>    - export test results on cross builds
>>>    - improve windows builds
>>>
>>> ----------------------------------------------------------------
>>
>> So I've been applying pullreqs relying on a combination of the
>> private-runner CI jobs plus using the free minutes allowance
>> on my personal gitlab account, and ad-hoc local builds. I'm
>> a bit reluctant to do that for this one though, because it's
>> touching all the gitlab config and we won't be able test that
>> that is OK until we can do a full run with the standard config.
>> What do you think ?

What is the alternative, waiting 5 days up to March 1st?

> This was my run of the tag:
> 
>    https://gitlab.com/stsquad/qemu/-/pipelines/787068318/
> 
> The FreeBSD failure is the dodgy migration test and the openbsi/edk2
> builds fails as 18.04 just went EOL I think. I don't currently have the
> s390x runner on my config.
> 
>>
>> thanks
>> -- PMM
> 
>
Peter Maydell Feb. 26, 2023, 8:13 p.m. UTC | #4
On Fri, 24 Feb 2023 at 21:23, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> On 24/2/23 20:52, Alex Bennée wrote:
> >
> > Peter Maydell <peter.maydell@linaro.org> writes:
> >
> >> On Thu, 23 Feb 2023 at 15:57, Alex Bennée <alex.bennee@linaro.org> wrote:
> >>>
> >>> The following changes since commit 79b677d658d3d35e1e776826ac4abb28cdce69b8:
> >>>
> >>>    Merge tag 'net-pull-request' of https://github.com/jasowang/qemu
> >>> into staging (2023-02-21 11:28:31 +0000)
> >>>
> >>> are available in the Git repository at:
> >>>
> >>>    https://gitlab.com/stsquad/qemu.git tags/pull-testing-next-230223-1
> >>>
> >>> for you to fetch changes up to e9969376f01180d7bcbee25ae8333983da7eda2c:
> >>>
> >>>    cirrus.yml: Improve the windows_msys2_task (2023-02-23 15:48:23 +0000)
> >>>
> >>> ----------------------------------------------------------------
> >>> testing updates:
> >>>
> >>>    - ensure socat available for tests
> >>>    - skip socat tests for MacOS
> >>>    - properly clean up fifos after use
> >>>    - make fp-test less chatty
> >>>    - store test artefacts on Cirrus
> >>>    - control custom runners with QEMU_CI knobs
> >>>    - disable benchmark runs under tsan build
> >>>    - update ubuntu 2004 to 2204
> >>>    - skip nios2 kernel replay test
> >>>    - add tuxrun baselines to avocado
> >>>    - binary build of tricore tools
> >>>    - export test results on cross builds
> >>>    - improve windows builds
> >>>
> >>> ----------------------------------------------------------------
> >>
> >> So I've been applying pullreqs relying on a combination of the
> >> private-runner CI jobs plus using the free minutes allowance
> >> on my personal gitlab account, and ad-hoc local builds. I'm
> >> a bit reluctant to do that for this one though, because it's
> >> touching all the gitlab config and we won't be able test that
> >> that is OK until we can do a full run with the standard config.
> >> What do you think ?
>
> What is the alternative, waiting 5 days up to March 1st?

That would be the other option, yes.

-- PMM
Peter Maydell Feb. 27, 2023, 11:58 a.m. UTC | #5
On Thu, 23 Feb 2023 at 15:57, Alex Bennée <alex.bennee@linaro.org> wrote:
>
> The following changes since commit 79b677d658d3d35e1e776826ac4abb28cdce69b8:
>
>   Merge tag 'net-pull-request' of https://github.com/jasowang/qemu into staging (2023-02-21 11:28:31 +0000)
>
> are available in the Git repository at:
>
>   https://gitlab.com/stsquad/qemu.git tags/pull-testing-next-230223-1
>
> for you to fetch changes up to e9969376f01180d7bcbee25ae8333983da7eda2c:
>
>   cirrus.yml: Improve the windows_msys2_task (2023-02-23 15:48:23 +0000)
>
> ----------------------------------------------------------------
> testing updates:
>
>   - ensure socat available for tests
>   - skip socat tests for MacOS
>   - properly clean up fifos after use
>   - make fp-test less chatty
>   - store test artefacts on Cirrus
>   - control custom runners with QEMU_CI knobs
>   - disable benchmark runs under tsan build
>   - update ubuntu 2004 to 2204
>   - skip nios2 kernel replay test
>   - add tuxrun baselines to avocado
>   - binary build of tricore tools
>   - export test results on cross builds
>   - improve windows builds

This hangs when I try to merge it, and eventually times out:

Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
Already up-to-date.
Switched to branch 'staging'
fetching from remote https://gitlab.com/stsquad/qemu.git
tags/pull-testing-next-230223-1
remote: Enumerating objects: 108, done.
remote: Counting objects: 100% (108/108), done.
remote: Compressing objects: 100% (50/50), done.
remote: Total 108 (delta 59), reused 93 (delta 57), pack-reused 0
Receiving objects: 100% (108/108), 100.58 KiB | 7.74 MiB/s, done.
Resolving deltas: 100% (59/59), completed with 23 local objects.
From https://gitlab.com/stsquad/qemu
 * tag                       pull-testing-next-230223-1 -> FETCH_HEAD
Fetching submodule tests/fp/berkeley-testfloat-3

fatal: unable to connect to github.com:
github.com[0: 140.82.121.3]: errno=Connection timed out


I don't understand why anything is trying to fetch from github
in the first place: the URL for the testfloat-3 submodule
is a gitlab one..

-- PMM
Alex Bennée Feb. 27, 2023, 2:59 p.m. UTC | #6
Peter Maydell <peter.maydell@linaro.org> writes:

> On Thu, 23 Feb 2023 at 15:57, Alex Bennée <alex.bennee@linaro.org> wrote:
>>
>> The following changes since commit 79b677d658d3d35e1e776826ac4abb28cdce69b8:
>>
>>   Merge tag 'net-pull-request' of https://github.com/jasowang/qemu
>> into staging (2023-02-21 11:28:31 +0000)
>>
>> are available in the Git repository at:
>>
>>   https://gitlab.com/stsquad/qemu.git tags/pull-testing-next-230223-1
>>
>> for you to fetch changes up to e9969376f01180d7bcbee25ae8333983da7eda2c:
>>
>>   cirrus.yml: Improve the windows_msys2_task (2023-02-23 15:48:23 +0000)
>>
>> ----------------------------------------------------------------
>> testing updates:
>>
>>   - ensure socat available for tests
>>   - skip socat tests for MacOS
>>   - properly clean up fifos after use
>>   - make fp-test less chatty
>>   - store test artefacts on Cirrus
>>   - control custom runners with QEMU_CI knobs
>>   - disable benchmark runs under tsan build
>>   - update ubuntu 2004 to 2204
>>   - skip nios2 kernel replay test
>>   - add tuxrun baselines to avocado
>>   - binary build of tricore tools
>>   - export test results on cross builds
>>   - improve windows builds
>
> This hangs when I try to merge it, and eventually times out:
>
> Switched to branch 'master'
> Your branch is up-to-date with 'origin/master'.
> Already up-to-date.
> Switched to branch 'staging'
> fetching from remote https://gitlab.com/stsquad/qemu.git
> tags/pull-testing-next-230223-1
> remote: Enumerating objects: 108, done.
> remote: Counting objects: 100% (108/108), done.
> remote: Compressing objects: 100% (50/50), done.
> remote: Total 108 (delta 59), reused 93 (delta 57), pack-reused 0
> Receiving objects: 100% (108/108), 100.58 KiB | 7.74 MiB/s, done.
> Resolving deltas: 100% (59/59), completed with 23 local objects.
> From https://gitlab.com/stsquad/qemu
>  * tag                       pull-testing-next-230223-1 -> FETCH_HEAD
> Fetching submodule tests/fp/berkeley-testfloat-3
>
> fatal: unable to connect to github.com:
> github.com[0: 140.82.121.3]: errno=Connection timed out
>
>
> I don't understand why anything is trying to fetch from github
> in the first place: the URL for the testfloat-3 submodule
> is a gitlab one..

I think the underlying config needs updating:

  .git/modules/tests/fp/berkeley-testfloat-3/config

I'm surprised the git config for submodules doesn't carry the metadata.
Alex Bennée March 1, 2023, 10:02 a.m. UTC | #7
Peter Maydell <peter.maydell@linaro.org> writes:

> On Fri, 24 Feb 2023 at 21:23, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>>
>> On 24/2/23 20:52, Alex Bennée wrote:
>> >
>> > Peter Maydell <peter.maydell@linaro.org> writes:
>> >
>> >> On Thu, 23 Feb 2023 at 15:57, Alex Bennée <alex.bennee@linaro.org> wrote:
>> >>>
>> >>> The following changes since commit 79b677d658d3d35e1e776826ac4abb28cdce69b8:
>> >>>
>> >>>    Merge tag 'net-pull-request' of https://github.com/jasowang/qemu
>> >>> into staging (2023-02-21 11:28:31 +0000)
>> >>>
>> >>> are available in the Git repository at:
>> >>>
>> >>>    https://gitlab.com/stsquad/qemu.git tags/pull-testing-next-230223-1
>> >>>
>> >>> for you to fetch changes up to e9969376f01180d7bcbee25ae8333983da7eda2c:
>> >>>
>> >>>    cirrus.yml: Improve the windows_msys2_task (2023-02-23 15:48:23 +0000)
>> >>>
>> >>> ----------------------------------------------------------------
>> >>> testing updates:
>> >>>
>> >>>    - ensure socat available for tests
>> >>>    - skip socat tests for MacOS
>> >>>    - properly clean up fifos after use
>> >>>    - make fp-test less chatty
>> >>>    - store test artefacts on Cirrus
>> >>>    - control custom runners with QEMU_CI knobs
>> >>>    - disable benchmark runs under tsan build
>> >>>    - update ubuntu 2004 to 2204
>> >>>    - skip nios2 kernel replay test
>> >>>    - add tuxrun baselines to avocado
>> >>>    - binary build of tricore tools
>> >>>    - export test results on cross builds
>> >>>    - improve windows builds
>> >>>
>> >>> ----------------------------------------------------------------
>> >>
>> >> So I've been applying pullreqs relying on a combination of the
>> >> private-runner CI jobs plus using the free minutes allowance
>> >> on my personal gitlab account, and ad-hoc local builds. I'm
>> >> a bit reluctant to do that for this one though, because it's
>> >> touching all the gitlab config and we won't be able test that
>> >> that is OK until we can do a full run with the standard config.
>> >> What do you think ?
>>
>> What is the alternative, waiting 5 days up to March 1st?
>
> That would be the other option, yes.

As the PR needs a re-base anyway please drop this and I'll respin with
the additional patches from yesterday's testing/next post.