aboutsummaryrefslogtreecommitdiff
path: root/.cirrus.yml
AgeCommit message (Collapse)Author
2023-03-24cirrus-ci: Remove MSYS2 jobs duplicated with gitlab-ciPhilippe Mathieu-Daudé
- Various developers are reluctant to git Cirrus-CI the permissions requested to access their GitHub account. - When we use the cirrus-run script to trigger Cirrus-CI job from GitLab-CI, the GitLab-CI job is restricted to a 1h timeout (often not enough). - Although Cirrus-CI VMs are more powerful than GitLab-CI ones, its free plan is limited in 2 concurrent jobs. - The GitLab-CI MSYS2 jobs are a 1:1 mapping with the Cirrus-CI ones (modulo the environment caching). Reduce the maintenance burden by removing the Cirrus-CI config file, keeping the GitLab-CI jobs. Update Yonggang Luo's maintenance file list to the new file, which use the same environment shell. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230322135721.61138-3-philmd@linaro.org> Signed-off-by: Thomas Huth <thuth@redhat.com>
2023-03-01cirrus.yml: Improve the windows_msys2_taskThomas Huth
There's no need to run a full-blown bash just to create a directory. And we can skip the "cd build" each time by doing it once at the beginning. Additionally, let's exclude some targets (that we already compile-test with MinGW in the gitlab jobs) from the build, since the build time of this task is very long already (between 80 and 90 minutes). Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <20230208103046.618154-1-thuth@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20230228190653.1602033-14-alex.bennee@linaro.org>
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.cirrus.yml: Change winsymlinks to 'native'Bin Meng
At present winsymlinks is set to 'nativestrict', and its behavior is: a) if native symlinks are enabled and <target> exists, creates <destination> as a native Windows symlink; b) else if native symlinks are not enabled or if <target> does not exist, 'ln -s' fails. This causes 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" Change 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> Acked-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Yonggang Luo <luoyonggang@gmail.com> Message-Id: <20220719161230.766063-1-bmeng.cn@gmail.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20220725140520.515340-5-alex.bennee@linaro.org>
2022-05-09cirrus/win32: upgrade mingw base packagesYonggang Luo
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220503200524.1868-2-luoyonggang@gmail.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-02-09tests: Manually remove libxml2 on MSYS2 runnersPhilippe Mathieu-Daudé
lcitool doesn't support MSYS2 targets, so manually remove this now unnecessary library. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20220121154134.315047-7-f4bug@amsat.org> Message-Id: <20220204204335.1689602-11-alex.bennee@linaro.org>
2021-07-14cirrus: delete FreeBSD and macOS jobsDaniel P. Berrangé
The builds for these two platforms can now be performed from GitLab CI using cirrus-run. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Message-Id: <20210625172211.451010-4-berrange@redhat.com> Message-Id: <20210709143005.1554-9-alex.bennee@linaro.org>
2021-05-14cirrus.yml: Fix the MSYS2 taskThomas Huth
The MSYS2 task in the Cirrus-CI is currently failing with error messages like this: warning: database file for 'ucrt64' does not exist (use '-Sy' to download) :: Starting core system upgrade... there is nothing to do :: Starting full system upgrade... error: failed to prepare transaction (could not find database) Seems like it can be fixed by switching to a newer release and by refreshing the database one more time after changing the /etc/pacman.conf file. Message-Id: <20210504100223.25427-30-alex.bennee@linaro.org> Reviewed-by: Yonggang Luo <luoyonggang@gmail.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2021-03-24cirrus.yml: Update the FreeBSD task to version 12.2Thomas Huth
FreeBSD version 12.1 is out of service now, and the task in the Cirrus-CI is failing. Update to 12.2 to get it working again. Unfortunately, there is a bug in libtasn1 that triggers with the new version of Clang that is used there (see this thread for details: https://lists.gnu.org/archive/html/qemu-devel/2021-02/msg00739.html ), so we have to disable gnutls for now to make it work again. We can enable it later again once libtasn1 has been fixed in FreeBSD. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210319101402.48871-1-thuth@redhat.com> Message-Id: <20210323165308.15244-13-alex.bennee@linaro.org>
2021-01-12cirrus/msys2: Cache msys2 mingw in a better way.Yonggang Luo
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> Message-Id: <20210107101919.80-3-luoyonggang@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-01-12cirrus/msys2: Exit powershell with $LastExitCodeYonggang Luo
Currently if we don't exit with $LastExitCode manually, the cirrus would not report the build/testing failure. Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20210107101919.80-2-luoyonggang@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-01-06cirrus: don't run full qtest on macOSDaniel P. Berrangé
The Cirrus CI macOS build hosts have exhibited a serious performance degradation in recent months. For example the "qom-test" qtest takes over an hour for only the qemu-system-aarch64 binary. This is as much 20-40 times slower than other environments. The other qtests all show similar performance degradation, as do many of the unit tests. This does not appear related to QEMU code changes, since older git commits which were known to fully complete in less than 1 hour on Cirrus CI now also show similar bad performance. Either Cirrus CI performance has degraded, or an change in its environment has exposed a latent bug widely affecting all of QEMU. Debugging the qom-test showed no easily identified large bottleneck - every step of the test execution was simply slower. macOS builds/tests run outside Cirrus CI show normal performance. With an inability to identify any obvious problem, the only viable way to get a reliably completing Cirrus CI macOS job is to cut out almost all of the qtests. We choose to run the x86_64 target only, since that has very few machine types and thus is least badly impacted in the qom-test execution. With this change, the macOS jobs complete in approx 35 minutes. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Message-Id: <20210106114159.981538-1-berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2020-11-26Merge remote-tracking branch 'remotes/bonzini-gitlab/tags/for-upstream' into ↵Peter Maydell
staging Remove obsolete setuptools dependency and fix Stefan's Win32 builds. # gpg: Signature made Thu 26 Nov 2020 14:21:28 GMT # gpg: using RSA key F13338574B662389866C7682BFFBD25F78C7AE83 # gpg: issuer "pbonzini@redhat.com" # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full] # gpg: aka "Paolo Bonzini <pbonzini@redhat.com>" [full] # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4 E2F7 7E15 100C CD36 69B1 # Subkey fingerprint: F133 3857 4B66 2389 866C 7682 BFFB D25F 78C7 AE83 * remotes/bonzini-gitlab/tags/for-upstream: nsis: Fix build for 64 bit installer tests/docker, tests/vm: remove setuptools from images configure: remove python pkg_resources check meson: use dependency() to find libjpeg Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-11-25tests/docker, tests/vm: remove setuptools from imagesPaolo Bonzini
Setuptools is not needed anymore by the bundled copy of meson, remove it. Suggested-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-11-23.cirrus.yml: bump timeout period for MacOS buildsAlex Bennée
These seem to trigger timeouts with some regularity. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20201118140739.18377-1-alex.bennee@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2020-11-09block: enable libnfs on msys2/mingw in cirrus.ymlYonggang Luo
Initially, libnfs has not been enabled, and now it's fixed, so enable it on cirrus. Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> Message-Id: <20201105123116.674-3-luoyonggang@gmail.com> Signed-off-by: Max Reitz <mreitz@redhat.com>
2020-10-22build: fix macOS --enable-modules buildPaolo Bonzini
Apple's nm implementation includes empty lines in the output that are not found in GNU binutils. This confuses scripts/undefsym.py, though it did not confuse the scripts/undefsym.sh script that it replaced. To fix this, ignore lines that do not have two fields. Reported-by: Emmanuel Blot <eblot.ml@gmail.com> Tested-by: Emmanuel Blot <eblot.ml@gmail.com> Fixes: 604f3e4e90 ("meson: Convert undefsym.sh to undefsym.py", 2020-09-08) Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-10-17ci: include configure and meson logs in all jobs if configure failsPaolo Bonzini
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-10-17cirrus: Enable doc build on msys2/mingwYonggang Luo
Currently rST depends on old version sphinx-2.x. Install it by downloading it. Remove the need of university mirror, the main repo are recovered. Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> Message-Id: <20201015220626.418-5-luoyonggang@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-10-17add ninja to dockerfiles, CI configurations and test VMsPaolo Bonzini
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Acked-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-10-17submodules: bump meson to 0.55.3Paolo Bonzini
This adds some bugfixes, and allows MSYS2 to configure without "--ninja=ninja". Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-10-09cirrus: use V=1 when running tests on FreeBSD and macOSPaolo Bonzini
Using "V=1" makes it easier to identify hanging tests, especially since they are run with -j1. It is already used on Windows builds, do the same for FreeBSD and macOS. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Ed Maste <emaste@FreeBSD.org> Message-Id: <20201007140103.711142-1-pbonzini@redhat.com> Message-Id: <20201007160038.26953-22-alex.bennee@linaro.org>
2020-10-09cirrus: msys2/mingw speed is up, add excluded target backYonggang Luo
The following target are add back: i386-softmmu,arm-softmmu,ppc-softmmu,mips-softmmu Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20201007145300.1197-3-luoyonggang@gmail.com> Message-Id: <20201007160038.26953-6-alex.bennee@linaro.org>
2020-10-09cirrus: Fixing and speedup the msys2/mingw CIYonggang Luo
Use cache of cirrus caching msys2 The install of msys2 are refer to https://github.com/msys2/setup-msys2 The first time install msys2 would be time consuming, so increase timeout_in to 90m according to https://cirrus-ci.org/faq/#instance-timed-out Apply patch of https://lists.gnu.org/archive/html/qemu-devel/2020-10/msg00072.html [AJB: renamed printenv_script to setup_script] Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20201007145300.1197-2-luoyonggang@gmail.com> Message-Id: <20201007160038.26953-5-alex.bennee@linaro.org>
2020-09-16cirrus: Building freebsd in a single shotYonggang Luo
This reverts commit 45f7b7b9f38f5c4d1529a37c93dedfc26a231bba ("cirrus.yml: Split FreeBSD job into two parts"). freebsd 1 hour limit not hit anymore I think we going to a wrong direction, I think there is some tests a stall the test runner, please look at https://cirrus-ci.com/task/5110577531977728 When its running properly, the consumed time are little, but when tests running too long, look at the cpu usage, the cpu usage are nearly zero. doesn't consuming time. And look at https://cirrus-ci.com/task/6119341601062912 If the tests running properly, the time consuming are little We should not hide the error by split them Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Ed Maste <emaste@FreeBSD.org> Message-Id: <20200915121318.247-16-luoyonggang@gmail.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2020-09-16ci: Enable msys2 ci in cirrusYonggang Luo
Install msys2 in a proper way refer to: https://github.com/cirruslabs/cirrus-ci-docs/issues/699 The https://wiki.qemu.org/Hosts/W32#Native_builds_with_MSYS2 need to be updated. There is no need of --cross-prefix, open mingw64.exe instead of msys2.exe then we don't need the --cross-prefix, besides we use environment variable settings: MSYS: winsymlinks:nativestrict MSYSTEM: MINGW64 CHERE_INVOKING: 1 to opening mingw64 native shell. Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20200915121318.247-25-luoyonggang@gmail.com> [thuth: Add --target-list-exclude to speed it up a little bit, and add capstone package to avoid build failure with internal capstone] Signed-off-by: Thomas Huth <thuth@redhat.com>
2020-09-03cirrus.yml: Split FreeBSD job into two partsThomas Huth
The FreeBSD jobs currently hit the 1h time limit in the Cirrus-CI. We have to split the build targets here to make sure that the job finishes in time again. According to the Cirrus-CI docs and some tests that I did, it also seems like the total amount of CPUs that can be used for FreeBSD jobs is limited to 8, so each job now only gets 4 CPUs. That increases the compilation time of each job a little bit, but it still seems to be better to run two jobs with 4 CPUs each in parallel than to run two jobs with 8 CPUs sequentially. Message-Id: <20200831154405.229706-1-thuth@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2020-09-03cirrus.yml: Update the macOS jobs to CatalinaThomas Huth
When looking at the CI jobs on cirrus-ci.com, it seems like the mojave-based images have been decomissioned a while ago already, since apparently all our jobs get automatically upgraded to catalina. So let's update our YML script accordingly to avoid confusion. Reviewed-by: Ed Maste <emaste@freebsd.org> Message-Id: <20200728074405.13118-5-thuth@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2020-09-03cirrus.yml: Compile macOS with -WerrorThomas Huth
Compiler warnings currently go unnoticed in our macOS builds, since -Werror is only enabled for Linux and MinGW builds by default. So let's enable them here now, too. Unfortunately, the sasl header is marked as deprecated in the macOS headers and thus generates a lot of deprecation warnings. Thus we have to also use -Wno-error=deprecated-declarations to be able to compile the code here. Message-Id: <20200728074405.13118-4-thuth@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2020-09-03cirrus.yml: Compile FreeBSD with -WerrorThomas Huth
Compiler warnings currently go unnoticed in our FreeBSD builds, since -Werror is only enabled for Linux and MinGW builds by default. So let's enable them here now, too. Reviewed-by: Ed Maste <emaste@freebsd.org> Message-Id: <20200728074405.13118-3-thuth@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2020-07-11.cirrus.yml: add bash to the brew packagesAlex Bennée
Like the sed we include earlier we want something more recent for iotests to work. Fixes: 57ee95ed Cc: Max Reitz <mreitz@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20200710182238.10675-1-alex.bennee@linaro.org>
2020-06-16cirrus.yml: serialise make checkAlex Bennée
We do this on our other platforms to make it easier to see what has broken. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Li-Wen Hsu <lwhsu@FreeBSD.org> Message-Id: <20200612190237.30436-19-alex.bennee@linaro.org>
2020-06-08cirrus-ci: Remove flex/bison packagesPhilippe Mathieu-Daudé
QEMU does not use flex/bison packages. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Li-Wen Hsu <lwhsu@freebsd.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20200515163029.12917-5-philmd@redhat.com>
2020-05-06.cirrus.yml: bootstrap pkg unconditionallyLi-Wen Hsu
This ensures compatibility with pkg repo so a change in upstream doesn't break setup. See: https://lists.freebsd.org/pipermail/freebsd-cloud/2020-April/000234.html Message-Id: <CAKBkRUzicxphjjkkxdgzB3cDSv=AszD5V4X499jT2BjiAaazGw@mail.gmail.com> Signed-off-by: Li-Wen Hsu <lwhsu@lwhsu.org> [AJB: applied from Li-Wen's github, applied sob, tweaked commit message] Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2020-05-06.cirrus.yml: bump FreeBSD to the current stable releaseAlex Bennée
Hopefully this will un-stick the test which has been broken for a long time. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Li-Wen Hsu <lwhsu@freebsd.org> Tested-by: Li-Wen Hsu <lwhsu@freebsd.org> Message-Id: <20200501111505.4225-4-alex.bennee@linaro.org>
2019-12-18ci: build out-of-treePaolo Bonzini
Most developers are using out-of-tree builds and it was discussed in the past to only allow those. To prepare for the transition, use out-of-tree builds in all continuous integration jobs. Based on a patch by Marc-André Lureau. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Li-Wen Hsu <lwhsu@freebsd.org> Message-Id: <1576074829-56711-1-git-send-email-pbonzini@redhat.com>
2019-10-25cirrus.yml: add latest Xcode build targetAlex Bennée
CirrusCI provides a mojave-xcode alias for the latest Xcode available. Let's use it to make sure we track the latest releases. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-05-21cirrus / travis: Add gnu-sed and bash for macOS and FreeBSDThomas Huth
We are going to enable the qemu-iotests during "make check" again, and for running the iotests, we need bash and gnu-sed. Reviewed-by: Li-Wen Hsu <lwhsu@freebsd.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Message-Id: <20190502084506.8009-5-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2019-03-08cirrus.yml: Add macOS continuous integration taskThomas Huth
cirrus-ci.com also has the possibility to run CI tasks on macOS. Since most of the QEMU developers do not have access to macOS yet, let's add a CI pipeline for this operating system here, too. Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Acked-by: Ed Maste <emaste@freebsd.org> Acked-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2019-02-08.cirrus.yml: basic compile and test for FreeBSDEd Maste
Signed-off-by: Ed Maste <emaste@freebsd.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>