aboutsummaryrefslogtreecommitdiff
path: root/.gitlab-ci.d
AgeCommit message (Collapse)Author
2022-11-22gitlab: integrate coverage reportAlex Bennée
This should hopefully give is nice coverage information about what our tests (or at least the subset we are running) have hit. Ideally we would want a way to trigger coverage on tests likely to be affected by the current commit. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Acked-by: Stefan Hajnoczi <stefanha@redhat.com> Message-Id: <20221117172532.538149-12-alex.bennee@linaro.org>
2022-11-17ci: replace x86_64 macos-11 with aarch64 macos-12Daniel P. Berrangé
The Cirrus CI service has announced the intent to discontinue support for x86_64 macOS CI runners. They already have aarch64 runners available and require all projects to switch to these images before Jan 1st 2023. The different architecture is merely determined by the image name requested. For aarch64 they only support macOS 12 onwards. At the same time our support policy only guarantees the most recent 2 major versions, so macOS 12 is already technically our min version. https://cirrus-ci.org/blog/2022/11/08/sunsetting-intel-macos-instances/ Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20221116175023.80627-1-berrange@redhat.com> Tested-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-11-06gitlab-ci: increase clang-user timeoutStefan Hajnoczi
The clang-user test exceeds the 1 hour timeout occassionally. Philippe Mathieu-Daudé has pointed out that the number of tcg tests has increased since QEMU 7.1. The execution time therefore probably reflects a legitimate increase in tests rather than a performance regression. Bump the timeout to prevent CI failures. Suggested-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20221104113659.427690-1-stefanha@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-10-28tests: Add sndio to the FreeBSD CI containers / VMBrad Smith
Add sndio to the FreeBSD CI containers / VM Signed-off-by: Brad Smith <brad@comstyle.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Warner Losh <imp@bsdimp.com> Message-Id: <Y1f6dxjvD01DtXyG@humpty.home.comstyle.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-10-06target/hexagon: manually add flex/bison/glib2 to remaining containersAnton Johansson
Adds our build-time dependencies to containers which build qemu-hexagon, but aren't covered by libvirt-ci. Signed-off-by: Anton Johansson <anjo@rev.ng> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20220804115548.13024-11-anjo@rev.ng> Message-Id: <20220929114231.583801-9-alex.bennee@linaro.org>
2022-10-06target/hexagon: regenerate docker/cirrus filesAnton Johansson
This patch updates the docker and cirrus files with the new packages by running tests/lcitool/refresh Signed-off-by: Anton Johansson <anjo@rev.ng> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20220804115548.13024-10-anjo@rev.ng> Message-Id: <20220929114231.583801-8-alex.bennee@linaro.org>
2022-09-27.gitlab-ci.d/windows.yml: Display meson test logsBin Meng
When CI fails we don't know what causes the failure. Displaying the meson test logs can be helpful. Signed-off-by: Bin Meng <bin.meng@windriver.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20220925113032.1949844-53-bmeng.cn@gmail.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-09-26Remove the slirp submodule (i.e. compile only with an external libslirp)Thomas Huth
Since QEMU 7.1 we don't support Ubuntu 18.04 anymore, so the last big important Linux distro that did not have a pre-packaged libslirp has been dismissed. All other major distros seem to have a libslirp package in their distribution already - according to repology.org: Fedora 35: 4.6.1 CentOS 8 (RHEL-8): 4.4.0 Debian 11: 4.4.0 OpenSUSE Leap 15.3: 4.3.1 Ubuntu LTS 20.04: 4.1.0 FreeBSD Ports: 4.7.0 NetBSD pkgsrc: 4.7.0 Homebrew: 4.7.0 MSYS2 mingw: 4.7.0 The only one that was still missing a libslirp package is OpenBSD - but the next version (OpenBSD 7.2 which will be shipped in October) is going to include a libslirp package. Since QEMU 7.2 will be published after OpenBSD 7.2, we should be fine there, too. So there is no real urgent need for keeping the slirp submodule in the QEMU tree anymore. Thus let's drop the slirp submodule now and rely on the libslirp packages from the distributions instead. Message-Id: <20220824151122.704946-7-thuth@redhat.com> Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-09-21Merge tag 'pull-testing-next-200922-2' of https://github.com/stsquad/qemu ↵Stefan Hajnoczi
into staging Testing and CI changes: - reduce number of targets for cross_user_build - update avocado xlnx_versal test with new binaries - add explicit timeouts to a number of avocado TCG tests - reduce default timeout to 120s - update lcitool to support cross-amd64 - flatten a number of docker cross containers - clean up stale qemu/debian10 dependencies - remove obsolete Fedora VM test - add configure workaround for meson --disable-pie bug - disable --static-pie for aarch64 gitlab runner - update aarch32/aarch64 jobs to 22.04 - deprecate 32 bit big-endian MIPS as a host - remove FROM qemu/ support from docker.py - remove Debian base images now everything is flat # -----BEGIN PGP SIGNATURE----- # # iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAmMp8Q8ACgkQ+9DbCVqe # KkQmlwf/awT+jOmAW7TjlQnUTgHJ2hyOo7EViY/nmRkPOCT3ZG32pWFHBorHPX7s # BeqZzpzCvhzaIfObnjIssx13C5QId5XjJGuTgMAnSsGhzTrp7VUJc1/bBfHcD9L2 # dJJduG+bfAkh95heBkry5EhFt2ZMui5yv9DjEH44hUUc9nwKtIQGts3H3fnVqzvv # rzLZ7c2lhdLpAxHjmjSiiD8H59lJ+DpoziaobW4D7teGgecnyGVvJ9m1YH4Rc+kM # gpLTOGMhADkQlysf5e5cvxXSJbP7YpXYrsr9X+DfEy5PMt2L3y4Yv0wiAz9ClYvm # obD4wMQS5echYvb77qS1G8A0VMEPqA== # =3oYu # -----END PGP SIGNATURE----- # gpg: Signature made Tue 20 Sep 2022 12:57:51 EDT # gpg: using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44 # gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 6685 AE99 E751 67BC AFC8 DF35 FBD0 DB09 5A9E 2A44 * tag 'pull-testing-next-200922-2' of https://github.com/stsquad/qemu: (30 commits) tests/docker: remove the Debian base images tests/docker: remove FROM qemu/ support from docker.py tests/docker: update and flatten debian-toolchain tests/docker: update and flatten debian-hexagon-cross tests/docker: update and flatten debian-loongarch-cross tests/docker: update and flatten debian-amd64-cross tests/lcitool: bump to latest version tests/docker: update and flatten debian-all-test-cross tests/docker: flatten debian-riscv64-test-cross Deprecate 32 bit big-endian MIPS gitlab-ci: update aarch32/aarch64 custom runner jobs gitlab-ci/custom-runners: Disable -static-pie for ubuntu-20.04-aarch64 configure: explicitly set cflags for --disable-pie tests/vm: Remove obsolete Fedora VM test tests/docker: remove amd64 qemu/debian10 dependency tests/docker: remove tricore qemu/debian10 dependency tests/docker: flatten debian-powerpc-test-cross tests/docker: update and flatten debian-sparc64-cross tests/docker: update and flatten debian-sh4-cross tests/docker: update and flatten debian-mips64-cross ... Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2022-09-20tests/docker: remove the Debian base imagesAlex Bennée
We no longer use these in any of our images. Clean-up the remaining comments and documentation that reference them and remove from the build. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220914155950.804707-31-alex.bennee@linaro.org>
2022-09-20tests/docker: update and flatten debian-amd64-crossAlex Bennée
Now lcitool has support for building a x86_64 cross image we can use it for this. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Acked-by: Thomas Huth <thuth@redhat.com> Message-Id: <20220914155950.804707-26-alex.bennee@linaro.org>
2022-09-20tests/lcitool: bump to latest versionAlex Bennée
We need this to be able to cleanly build the x86 cross images. There are a few minor updates triggered by lcitool-refresh including adding "libslirp" to the freebsd vars and opensuse-leap which will help when we finally drop the slirp submodule from QEMU. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20220914155950.804707-25-alex.bennee@linaro.org>
2022-09-20tests/docker: update and flatten debian-all-test-crossAlex Bennée
Update to the latest stable Debian. While we are at it flatten into a single dockerfile. We also need to ensure we install clang as it is used for those builds as well. It would be nice to port this to lcitool but for now this will do. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220914155950.804707-24-alex.bennee@linaro.org>
2022-09-20tests/docker: flatten debian-riscv64-test-crossAlex Bennée
Flatten into a single dockerfile and update to match the rest of the test cross compile dockerfiles. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220914155950.804707-23-alex.bennee@linaro.org>
2022-09-20Deprecate 32 bit big-endian MIPSAlex Bennée
It's becoming harder to maintain a cross-compiler to test this host architecture as the old stable Debian 10 ("Buster") moved into LTS which supports fewer architectures. For now: - mark it's deprecation in the docs - downgrade the containers to build TCG tests only - drop the cross builds from our CI Users with an appropriate toolchain and user-space can still take their chances building it. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Huacai Chen <chenhuacai@kernel.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220914155950.804707-22-alex.bennee@linaro.org>
2022-09-20gitlab-ci: update aarch32/aarch64 custom runner jobsAlex Bennée
The custom runner is now using 22.04 so we can drop our hacks to deal with broken libssh and glusterfs. The provisioning scripts will be updated in a separate commit. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20220914155950.804707-21-alex.bennee@linaro.org>
2022-09-20gitlab-ci/custom-runners: Disable -static-pie for ubuntu-20.04-aarch64Richard Henderson
The project has reached the magic size at which we see /usr/aarch64-linux-gnu/lib/libc.a(init-first.o): in function `__libc_init_first': (.text+0x10): relocation truncated to fit: R_AARCH64_LD64_GOTPAGE_LO15 against \ symbol `__environ' defined in .bss section in /usr/aarch64-linux-gnu/lib/libc.a(environ.o) /usr/bin/ld: (.text+0x10): warning: too many GOT entries for -fpic, please recompile with -fPIC The bug has been reported upstream, but in the meantime there is nothing we can do except build a non-pie executable. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20220823210329.1969895-1-richard.henderson@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20220914155950.804707-20-alex.bennee@linaro.org>
2022-09-20tests/docker: remove tricore qemu/debian10 dependencyAlex Bennée
We missed removing this dependency when we flattened the build. Fixes: 39ce923732 (gitlab: enable a very minimal build with the tricore container) Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20220914155950.804707-16-alex.bennee@linaro.org>
2022-09-20tests/docker: flatten debian-powerpc-test-crossAlex Bennée
Flatten into a single dockerfile. We really don't need the rest of the stuff from the QEMU base image just to compile test images. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20220914155950.804707-15-alex.bennee@linaro.org>
2022-09-20tests/docker: update and flatten debian-sparc64-crossAlex Bennée
Update to the latest stable Debian. While we are at it flatten into a single dockerfile. We really don't need the rest of the stuff from the QEMU base image just to compile test images. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20220914155950.804707-14-alex.bennee@linaro.org>
2022-09-20tests/docker: update and flatten debian-sh4-crossAlex Bennée
Update to the latest stable Debian. While we are at it flatten into a single dockerfile. We really don't need the rest of the stuff from the QEMU base image just to compile test images. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20220914155950.804707-13-alex.bennee@linaro.org>
2022-09-20tests/docker: update and flatten debian-mips64-crossAlex Bennée
Update to the latest stable Debian. While we are at it flatten into a single dockerfile. We really don't need the rest of the stuff from the QEMU base image just to compile test images. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20220914155950.804707-12-alex.bennee@linaro.org>
2022-09-20tests/docker: update and flatten debian-m68k-crossAlex Bennée
Update to the latest stable Debian. While we are at it flatten into a single dockerfile. We really don't need the rest of the stuff from the QEMU base image just to compile test images. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20220914155950.804707-11-alex.bennee@linaro.org>
2022-09-20tests/docker: update and flatten debian-hppa-crossAlex Bennée
Update to the latest stable Debian. While we are at it flatten into a single dockerfile. We really don't need the rest of the stuff from the QEMU base image just to compile test images. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20220914155950.804707-10-alex.bennee@linaro.org>
2022-09-20tests/docker: update and flatten debian-alpha-crossAlex Bennée
Update to the latest stable Debian. While we are at it flatten into a single dockerfile. We really don't need the rest of the stuff from the QEMU base image just to compile test images. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20220914155950.804707-9-alex.bennee@linaro.org>
2022-09-20gitlab: reduce targets in cross_user_build_jobAlex Bennée
We already limit the scope of the cross system build to reduce the cross build times. With the recent addition of more targets we are also running into timeout issues for some of the cross user builds. I've selected a few of those linux-user targets which are less likely to be in common use as distros don't have pre-built rootfs for them. I've also added the same CROSS_SKIP_TARGETS variable as is occasionally used to further limit cross system builds. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220914155950.804707-2-alex.bennee@linaro.org>
2022-09-20gitlab-ci: Update the FreeBSD 13 job from 13.0 to 13.1Thomas Huth
The FreeBSD 13 job in our CI started failing since the python port stopped working after 13.1 has been released. Thus update our CI job to FreeBSD 13.1 to get it working again. Suggested-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20220920102041.45067-1-thuth@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-09-19.gitlab-ci.d/windows.yml: Drop the sed processing in the 64-bit buildBin Meng
The sed processing of build/config-host.mak seems to be no longer needed, and there is no such in the 32-bit build too. Drop it. Signed-off-by: Bin Meng <bin.meng@windriver.com> Message-Id: <20220908132817.1831008-5-bmeng.cn@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-08-29gitlab-ci: Only use one process in Windows jobs for compilationThomas Huth
The Windows jobs are currently aborting at weird places - and there's the suspicion that it's due to memory constraints in the Windows containers. Let's switch to single-threaded compilation to decrease the pressure on the memory load, and to make the job more deterministic for further investigations. Message-Id: <20220825193323.104768-1-thuth@redhat.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-07-29ci: Upgrade msys2 release to 20220603Yonggang Luo
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Message-Id: <20220728200422.1502-1-luoyonggang@gmail.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2022-07-29.gitlab-ci.d/windows.yml: Enable native Windows symlinkBin Meng
The following error message was seen during the configure: "ln: failed to create symbolic link 'x86_64-softmmu/qemu-system-x86_64.exe': No such file or directory" By default the MSYS environment variable is not defined, so the runtime behavior of winsymlinks is: if <target> does not exist, 'ln -s' fails. At the configure phase, the qemu-system-x86_64.exe has not been built so creation of the symbolic link fails hence the error message. Set winsymlinks to 'native' whose behavior is most similar to the behavior of 'ln -s' on *nix, that is: a) if native symlinks are enabled, and whether <target> exists or not, creates <destination> as a native Windows symlink; b) else if native symlinks are not enabled, and whether <target> exists or not, 'ln -s' creates as a Windows shortcut file. Signed-off-by: Bin Meng <bin.meng@windriver.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20220725123000.807608-1-bmeng.cn@gmail.com> Message-Id: <20220725140520.515340-6-alex.bennee@linaro.org>
2022-07-29gitlab: drop 'containers-layer2' stageDaniel P. Berrangé
Since we express dependencies via a 'needs' clause, we don't need to split container builds into separate stages. GitLab happily lets jobs depend on other jobs in the same stage and will run them when possible. Acked-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20220722130431.2319019-4-berrange@redhat.com> [AJB: fix typo] Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20220725140520.515340-4-alex.bennee@linaro.org>
2022-07-29gitlab: show testlog.txt contents when cirrus/custom-runner jobs failDaniel P. Berrangé
When tests fail meson just displays a summary and tells you to look at the testlog.txt file for details. The native jobs on shared runners publish testlog.txt as an artifact. For the Cirrus jobs and custom runner jobs this is not currently possible. The best we can do is cat the log contents on failure, to give maintainers a fighting chance of diagnosing the problem. Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20220722130431.2319019-3-berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20220725140520.515340-3-alex.bennee@linaro.org>
2022-07-29tests: refresh to latest libvirt-ci moduleDaniel P. Berrangé
Notable changes: - libvirt-ci source tree was re-arranged, so the script we run now lives in a bin/ sub-dir - opensuse 15.2 is replaced by opensuse 15.3 - libslirp is temporarily dropped on opensuse as the libslirp-version.h is broken https://bugzilla.opensuse.org/show_bug.cgi?id=1201551 - The incorrectly named python3-virtualenv module was changed to python3-venv, but most distros don't need any package as 'venv' is a standard part of python - glibc-static was renamed to libc-static, to reflect fact that it isn't going to be glibc on all distros - The cmocka/json-c deps that were manually added to the centos dockerfile and are now consistently added to all targets Acked-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20220722130431.2319019-2-berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Acked-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220725140520.515340-2-alex.bennee@linaro.org>
2022-07-20Revert "gitlab: disable accelerated zlib for s390x"Dr. David Alan Gilbert
This reverts commit 309df6acb29346f89e1ee542b1986f60cab12b87. With Ilya's 'multifd: Copy pages before compressing them with zlib' in the latest migration series, this shouldn't be a problem any more. Suggested-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com>
2022-07-13configure: Restrict TCG to emulationPhilippe Mathieu-Daudé
If we don't need to emulate any target, we certainly don't need TCG. This should also help to compile again with ".../configure --enable-tools --disable-system --disable-user" on systems that do not have a TCG backend. Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> [thuth: Re-arranged the code, remove check-softfloat from buildtest.yml] Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220706153816.768143-1-thuth@redhat.com>
2022-07-12gitlab-ci/cirrus: Update freebsd to python 3.9 packagesRichard Henderson
FreeBSD has stopped shipping python 3.8, causing our cirrus builds to fail immediately. Upstream lcitool has an update to address this, but has also reorganized its source tree so additional changes are required for 'make lcitool-update'. In the meantime, fix the build. Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2022-07-05gitlab-ci: Extend timeout for ubuntu-20.04-s390x-all to 75mRichard Henderson
Recent runs have been taking just over the 60m default. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220606182436.410053-1-richard.henderson@linaro.org> Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-07-05gitlab: honour QEMU_CI variable in edk2/opensbi jobsDaniel P. Berrangé
To preserve contributor CI credits we don't want jobs to run by default unless the QEMU_CI variable is set. For most jobs we can achieve this using the base template, but the edk2/opensbi jobs are a little special as they have some complex conditions we can't easily model in the base template. We duplicate existing rules and put them under control of QEMU_CI variable, such that QEMU_CI=1 creates manual jobs and QEMU_CI=2 immediately runs jobs. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20220629170638.520630-4-berrange@redhat.com> [thuth: Fixed "on_success" <-> "manual" copy-n-paste bug] Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-07-05gitlab: tweak comments in edk2/opensbi jobsDaniel P. Berrangé
Get rid of comments stating the obvious and re-arrange remaining comments. The opensbi split of rules for file matches is also merged into one rule. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220629170638.520630-3-berrange@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-07-05gitlab: normalize indentation in edk2/opensbi rulesDaniel P. Berrangé
The edk2/opensbi gitlab CI config was using single space indents which is not consistent with the rest of the gitlab CI config files. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220629170638.520630-2-berrange@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-06-15vfio-user: build libraryJagannathan Raman
add the libvfio-user library as a submodule. build it as a meson subproject. libvfio-user is distributed with BSD 3-Clause license and json-c with MIT (Expat) license Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com> Signed-off-by: John G Johnson <john.g.johnson@oracle.com> Signed-off-by: Jagannathan Raman <jag.raman@oracle.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-id: c2adec87958b081d1dc8775d4aa05c897912f025.1655151679.git.jag.raman@oracle.com [Changed submodule URL to QEMU's libvfio-user mirror on GitLab. The QEMU project mirrors its dependencies so that it can provide full source code even in the event that its dependencies become unavailable. Note that the mirror repo is manually updated, so please contact me to make newer libvfio-user commits available. If I become a bottleneck we can set up a cronjob. Updated scripts/meson-buildoptions.sh to match the meson_options.txt change. Failure to do so can result in scripts/meson-buildoptions.sh being modified by the build system later on and you end up with a dirty working tree. --Stefan] Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2022-06-14.gitlab: use less aggressive nproc on our aarch64/32 runnersAlex Bennée
Running on all 80 cores of our aarch64 runner does occasionally trigger a race condition which fails the build. However the CI system is not the time and place to play with much heisenbugs so turn down the nproc to "only" use 40 cores in the build. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Tested-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20220613171258.1905715-8-alex.bennee@linaro.org>
2022-06-14gitlab: compare CIRRUS_nn vars against 'null' not ""Daniel P. Berrangé
The GitLab variable comparisons don't have shell like semantics where an unset variable compares equal to empty string. We need to explicitly test against 'null' to detect an unset variable. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Tested-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20220608160651.248781-1-berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20220613171258.1905715-7-alex.bennee@linaro.org>
2022-06-14gitlab-ci: Fix the build-cfi-aarch64 and build-cfi-ppc64-s390x jobsThomas Huth
The job definitions recently got a second "variables:" section by accident and thus are failing now if one tries to run them. Merge the two sections into one again to fix the issue. And while we're at it, bump the timeout here (70 minutes are currently not enough for the aarch64 job). The jobs are marked as manual anyway, so if the user starts them, they want to see their result for sure and then it's annoying if the job timeouts too early. Fixes: e312d1fdbb ("gitlab: convert build/container jobs to .base_job_template") Signed-off-by: Thomas Huth <thuth@redhat.com> Acked-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220603124809.70794-1-thuth@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220613171258.1905715-4-alex.bennee@linaro.org>
2022-06-06tests: run 'device-crash-test' from tests/venvJohn Snow
Remove the sys.path hacking from device-crash-test, and add in a little user-friendly message for anyone who was used to running this script directly from the source tree. Modify the GitLab job recipes to create the tests/venv first, then run device-crash-test from that venv. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20220526000921.1581503-10-jsnow@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-06-01gitlab: don't run CI jobs in forks by defaultDaniel P. Berrangé
To preserve CI shared runner credits we don't want to run pipelines on every push. This sets up the config so that pipelines are never created for contributors by default. To override this the QEMU_CI variable can be set to a non-zero value. If set to 1, the pipeline will be created but all jobs will remain manually started. The contributor can selectively run jobs that they care about. If set to 2, the pipeline will be created and all jobs will immediately start. This behavior can be controlled using push variables git push -o ci.variable=QEMU_CI=1 To make this more convenient define an alias git config --local alias.push-ci "push -o ci.variable=QEMU_CI=1" git config --local alias.push-ci-now "push -o ci.variable=QEMU_CI=2" Which lets you run git push-ci to create the pipeline, or git push-ci-now to create and run the pipeline Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20220526110705.59952-6-berrange@redhat.com> [AJB: fix typo, replicate alias tips in ci.rst] Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20220527153603.887929-33-alex.bennee@linaro.org>
2022-06-01gitlab: convert build/container jobs to .base_job_templateDaniel P. Berrangé
This converts the main build and container jobs to use the base job rules, defining the following new variables - QEMU_JOB_SKIPPED - jobs that are known to be currently broken and should not be run. Can still be manually launched if desired. - QEMU_JOB_AVOCADO - jobs that run the Avocado integration test harness. - QEMU_JOB_PUBLISH - jobs that publish content after the branch is merged upstream As build-tools-and-docs runs on master we declare the requirement of building amd64-debian-container optional as it should already exits once we merge. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20220526110705.59952-5-berrange@redhat.com> [AJB: fix upstream typo, mention optional container req] Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20220527153603.887929-32-alex.bennee@linaro.org>
2022-06-01gitlab: convert static checks to .base_job_templateDaniel P. Berrangé
This folds the static checks into using the base job template rules, introducing one new variable - QEMU_JOB_ONLY_FORKS - a job that should never run on an upstream pipeline. The information it reports is only applicable to contributors in a pre-submission scenario, not time of merge. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20220526110705.59952-4-berrange@redhat.com> [AJB: fix typo] Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20220527153603.887929-31-alex.bennee@linaro.org>
2022-06-01gitlab: convert Cirrus jobs to .base_job_templateDaniel P. Berrangé
This folds the Cirrus job rules into the base job template, introducing two new variables - QEMU_JOB_CIRRUS - identifies the job as making use of Cirrus CI via cirrus-run - QEMU_JOB_OPTIONAL - identifies the job as one that is not run by default, primarily due to resource constraints. It can be manually invoked by users if they wish to validate that scenario. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20220526110705.59952-3-berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20220527153603.887929-30-alex.bennee@linaro.org>