aboutsummaryrefslogtreecommitdiff
path: root/tests/docker
AgeCommit message (Collapse)AuthorFilesLines
2021-07-29ci: add libusb for windows buildsGerd Hoffmann2-0/+2
Add CI coverage for usb passthrough on windows. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Message-Id: <20210623085249.1151901-3-kraxel@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2021-07-23gitlab: enable a very minimal build with the tricore containerAlex Bennée1-5/+29
Rather than base of the shared Debian 10 container which would require us to bring in even more dependencies just bring in what is needed for building tricore-softmmu in GitLab. We don't even remove the container from the DOCKER_PARTIAL_IMAGES lest we cause more confusion. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Message-Id: <20210720232703.10650-28-alex.bennee@linaro.org>
2021-07-19ci: build & store windows installerGerd Hoffmann1-0/+1
Build windows installer for qemu in gitlab CI, store the result as artifact. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20210623091137.1156959-2-kraxel@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2021-07-14tests/docker: expand opensuse-leap package listDaniel P. Berrangé1-1/+58
This is the fully expanded list of build pre-requisites QEMU can conceivably use in any scenario. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210623142245.307776-16-berrange@redhat.com> Message-Id: <20210709143005.1554-24-alex.bennee@linaro.org>
2021-07-14tests/docker: expand ubuntu2004 package listDaniel P. Berrangé1-2/+48
This is the fully expanded list of build pre-requisites QEMU can conceivably use in any scenario. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210623142245.307776-15-berrange@redhat.com> Message-Id: <20210709143005.1554-23-alex.bennee@linaro.org>
2021-07-14tests/docker: expand ubuntu1804 package listDaniel P. Berrangé1-1/+60
This is the fully expanded list of build pre-requisites QEMU can conceivably use in any scenario. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210623142245.307776-14-berrange@redhat.com> Message-Id: <20210709143005.1554-22-alex.bennee@linaro.org>
2021-07-14tests/docker: expand fedora package listDaniel P. Berrangé1-2/+28
This is the fully expanded list of build pre-requisites QEMU can conceivably use in any scenario. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210623142245.307776-13-berrange@redhat.com> Message-Id: <20210709143005.1554-21-alex.bennee@linaro.org>
2021-07-14tests/docker: expand centos8 package listDaniel P. Berrangé1-0/+70
This is the fully expanded list of build pre-requisites QEMU can conceivably use in any scenario. [AJB: added centos-release-advanced-virtualization/epel-release] Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210623142245.307776-12-berrange@redhat.com> Message-Id: <20210709143005.1554-20-alex.bennee@linaro.org>
2021-07-14tests/docker: remove mingw packages from FedoraDaniel P. Berrangé1-27/+0
There are dedicated containers providing mingw packages for Fedora. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210623142245.307776-11-berrange@redhat.com> Message-Id: <20210709143005.1554-19-alex.bennee@linaro.org>
2021-07-14tests/docker: fix mistakes in ubuntu package listsDaniel P. Berrangé2-11/+2
librados-dev is not required by QEMU directly, only librbd-dev. glusterfs-common is not directly needed by QEMU. QEMU uses ncursesw only on non-Windows hosts. The clang package is clang 10. flex and bison are not required by QEMU. Standardize on nmap ncat implementation to match Fedora/CentOS. Remove vim since it is not a build pre-requisite and no other containers include it. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210623142245.307776-10-berrange@redhat.com> Message-Id: <20210709143005.1554-18-alex.bennee@linaro.org>
2021-07-14tests/docker: fix mistakes in fedora package listDaniel P. Berrangé1-1/+0
libblockdev-mpath-devel is not used by QEMU, rather it wants device-mapper-multipath-devel. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210623142245.307776-9-berrange@redhat.com> Message-Id: <20210709143005.1554-17-alex.bennee@linaro.org>
2021-07-14tests/docker: fix mistakes in centos package listsDaniel P. Berrangé1-4/+4
mesa-libEGL-devel is not used in QEMU at all, but mesa-libgbm-devel is. spice-glib-devel is not use in QEMU at all, but spice-protocol is. We also need the -devel package for spice-server, not the runtime. There is no need to specifically refer to python36, we can just use python3 as in other distros. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210623142245.307776-8-berrange@redhat.com> Message-Id: <20210709143005.1554-16-alex.bennee@linaro.org>
2021-07-14tests/docker: fix sorting in package listsDaniel P. Berrangé5-16/+18
This will make diffs in later patches clearer. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210623142245.307776-7-berrange@redhat.com> Message-Id: <20210709143005.1554-15-alex.bennee@linaro.org>
2021-07-14tests/docker: remove FEATURES env var from templatesDaniel P. Berrangé14-21/+20
In preparation for switching to auto-generated dockerfiles, remove the FEATURES env variable. The equivalent functionality can be achieved in most cases by just looking for existance of a binary. The cases which don't correspond to binaries are simply dropped because configure/meson will probe for any requested feature anyway. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210623142245.307776-6-berrange@redhat.com> Message-Id: <20210709143005.1554-14-alex.bennee@linaro.org>
2021-07-14tests/docker: use explicit docker.io registryDaniel P. Berrangé7-7/+7
It is good practice to use an explicit registry for referencing the base image. This is because some distros will inject their own registries into the search path. For example registry.fedoraproject.org comes ahead of docker.io. Using an explicit registry avoids wasting time querying multiple registries for images that they won't have. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210623142245.307776-5-berrange@redhat.com> Message-Id: <20210709143005.1554-13-alex.bennee@linaro.org>
2021-07-14tests/docker: use project specific container registriesDaniel P. Berrangé6-6/+6
Since Docker Hub has started to enforce pull rate limits on clients, it is preferrable to use project specific container registries where they are available. Fedora and OpenSUSE projects provide registries. The images in these registries are also refreshed on a more regular basis than the ones in docker hub, so the package update should generally be faster. While CentOS also has a registry it is considerably outdated compared to docker.io, and also only provides x86 images, while docker.io images are multi-arch. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210623142245.307776-4-berrange@redhat.com> Message-Id: <20210709143005.1554-12-alex.bennee@linaro.org>
2021-07-14tests/docker: don't use BUILDKIT in GitLab eitherDaniel P. Berrangé1-1/+3
Using BUILDKIT breaks with certain container registries such as CentOS, with docker build reporting an error such as failed to solve with frontend dockerfile.v0: failed to build LLB: failed to load cache key: unexpected status code https://registry.centos.org/v2/centos/manifests/7: 403 Forbidden Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Message-Id: <20210623142245.307776-3-berrange@redhat.com> Message-Id: <20210709143005.1554-11-alex.bennee@linaro.org>
2021-07-14hw/usb/ccid: remove references to NSSDaniel P. Berrangé4-4/+1
The NSS package was previously pre-requisite for building CCID related features, however, this became obsolete when the libcacard library was spun off to a separate project: commit 7b02f5447c64d1854468f758398c9f6fe9e5721f Author: Marc-André Lureau <marcandre.lureau@redhat.com> Date: Sun Aug 30 11:48:40 2015 +0200 libcacard: use the standalone project Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210623142245.307776-2-berrange@redhat.com> Message-Id: <20210709143005.1554-10-alex.bennee@linaro.org>
2021-06-19tcg: Build ffi data structures for helpersRichard Henderson10-0/+10
Add libffi as a build requirement for TCI. Add libffi to the dockerfiles to satisfy that requirement. Construct an ffi_cif structure for each unique typemask. Record the result in a separate hash table for later lookup; this allows helper_table to stay const. Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2021-06-02Merge remote-tracking branch ↵Peter Maydell1-43/+0
'remotes/thuth-gitlab/tags/pull-request-2021-06-02' into staging * Update the references to some doc files (use *.rst instead of *.txt) * Bump minimum versions of some requirements after removing CentOS 7 support # gpg: Signature made Wed 02 Jun 2021 08:12:18 BST # gpg: using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5 # gpg: issuer "thuth@redhat.com" # gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full] # gpg: aka "Thomas Huth <thuth@redhat.com>" [full] # gpg: aka "Thomas Huth <huth@tuxfamily.org>" [full] # gpg: aka "Thomas Huth <th.huth@posteo.de>" [unknown] # Primary key fingerprint: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5 * remotes/thuth-gitlab/tags/pull-request-2021-06-02: configure: bump min required CLang to 6.0 / XCode 10.0 configure: bump min required GCC to 7.5.0 configure: bump min required glib version to 2.56 tests/docker: drop CentOS 7 container tests/vm: convert centos VM recipe to CentOS 8 crypto: drop used conditional check crypto: bump min gnutls to 3.5.18, dropping RHEL-7 support crypto: bump min gcrypt to 1.8.0, dropping RHEL-7 support crypto: drop back compatibility typedefs for nettle crypto: bump min nettle to 3.4, dropping RHEL-7 support patchew: move quick build job from CentOS 7 to CentOS 8 container block/ssh: Bump minimum libssh version to 0.8.7 docs: fix references to docs/devel/s390-dasd-ipl.rst docs: fix references to docs/specs/tpm.rst docs: fix references to docs/devel/build-system.rst docs: fix references to docs/devel/atomics.rst docs: fix references to docs/devel/tracing.rst Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2021-06-02tests/docker: drop CentOS 7 containerDaniel P. Berrangé1-43/+0
It has been over two years since RHEL-8 was released, and thus per the platform build policy, we no longer need to support RHEL-7 as a build target. Reviewed-by: Thomas Huth <thuth@redhat.com> Acked-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20210514120415.1368922-10-berrange@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2021-06-01gitlab: add python linters to CIJohn Snow1-0/+18
Add a Python container that has just enough juice for us to run the Python code quality analysis tools. Base this container on Fedora, because Fedora has very convenient packaging for testing multiple Python versions. We need python3, pip (for pulling packages), pipenv and virtualenv for creating virtual environments, and tox for running tests. make is needed for running 'make check-tox' and 'make venv-check' targets. Python3.10 is needed explicitly because the tox package only pulls in 3.6-3.9, but we wish to test the forthcoming release of Python as well to help predict any problems. Lastly, we need gcc to compile PyPI packages that may not have a binary distribution available. Add two tests: check-python-pipenv uses pipenv to test a frozen, very explicit set of packages against our minimum supported python version, Python 3.6. This test is not allowed to fail. The dependencies this test uses do not change unless python/Pipfile.lock is changed. check-python-tox uses tox to install the latest versions of required python dependencies against a wide array of Python versions from 3.6 to 3.9, even including the yet-to-be-released Python 3.10. This test is allowed to fail with a warning. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Cleber Rosa <crosa@redhat.com> Message-id: 20210527211715.394144-32-jsnow@redhat.com [Fix rebase conflict over .gitlab-ci.yml --js] Signed-off-by: John Snow <jsnow@redhat.com>
2021-05-18tests/docker: gcc-10 based images for ppc64{,le} testsMatheus Ferst4-26/+19
A newer compiler is needed to build tests for Power10 instructions. As done for arm64 on c729a99d2701, a new '-test-cross' image is created for ppc64 and ppc64le. As done on 936fda4d771f, a test for compiler support is added to verify that the toolchain in use has '-mpower10'. Finally, Unused images (docker-power-cross and docker-ppc64-cross) are removed. Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210423205757.1752480-2-matheus.ferst@eldorado.org.br> Message-Id: <20210512102051.12134-27-alex.bennee@linaro.org>
2021-05-18tests/docker: Added libbpf library to the docker files.Andrew Melnychenko3-0/+3
The series of patches for eBPF RSS adds libbpf dependency for qemu. https://lists.gnu.org/archive/html/qemu-devel/2021-03/msg08887.html With this patch, libbpf added: Alpine - added libbpf-dev Centos 8 - added libbpf-devel Fedora - added libbpf-devel Signed-off-by: Andrew Melnychenko <andrew@daynix.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20210406082947.672708-2-andrew@daynix.com> Message-Id: <20210512102051.12134-11-alex.bennee@linaro.org>
2021-05-18docker: Add Hexagon imageAlessandro Di Federico3-0/+208
This image is a little special because it takes a long time to build. As such most users don't want to be doing that and just pull random binaries from the ether as intended by the container gods. This involves someone with credentials and a beefy machine running: make docker-image-debian-hexagon-cross V=1 NOCACHE=1 J=30 docker tag qemu/debian-hexagon-cross registry.gitlab.com/qemu-project/qemu/qemu/debian-hexagon-cross docker push registry.gitlab.com/qemu-project/qemu/qemu/debian-hexagon-cross With a suitable binary in the "cloud" a normal user will run: make docker-image-debian-hexagon-cross or have it run for them through the dependency mechanism of our over-engineered makefiles and get the binary they wanted. There are a few wrinkles of course including needing to tweak the final image to have the credentials of the user so we can actually do our cross compiles. Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Cc: Alessandro Di Federico <ale@rev.ng> Cc: Philippe Mathieu-Daudé <f4bug@amsat.org> Cc: Brian Cain <bcain@quicinc.com> Message-Id: <20210512102051.12134-7-alex.bennee@linaro.org>
2021-05-18tests/docker: add "fetch" sub-commandAlex Bennée1-0/+17
This simply wraps up fetching a build from the registry and tagging it as the local build. Reviewed-by: Willian Rampazzo <willianr@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210512102051.12134-6-alex.bennee@linaro.org>
2021-05-18tests/docker: allow "update" to add the current userAlex Bennée1-1/+11
The current user functionality is used for cross compiling to avoid complications with permissions when building test programs. However for images that come from the registry we still need the ability to add the user after the fact. Reviewed-by: Willian Rampazzo <willianr@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210512102051.12134-5-alex.bennee@linaro.org>
2021-05-18tests/docker: make executable an optional argument to "update"Alex Bennée2-28/+30
We're going to extend the abilities of the command shortly. Reviewed-by: Willian Rampazzo <willianr@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210512102051.12134-4-alex.bennee@linaro.org>
2021-05-18tests/docker: fix copying of executable in "update"Alex Bennée1-1/+8
We have the same symlink chasing problem when doing an "update" operation. Fix that. Based-on: 5e33f7fead ("tests/docker: better handle symlinked libs") Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Message-Id: <20210512102051.12134-3-alex.bennee@linaro.org>
2021-05-14Merge remote-tracking branch ↵Peter Maydell5-0/+5
'remotes/thuth-gitlab/tags/pull-request-2021-05-14' into staging * Replace YAML anchors by extends in the gitlab-CI yaml files * Many small qtest fixes (e.g. to fix issues discovered by Coverity) * Poison more config switches in common code * Fix the failing Travis-CI and Cirrus-CI tasks # gpg: Signature made Fri 14 May 2021 12:17:39 BST # gpg: using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5 # gpg: issuer "thuth@redhat.com" # gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full] # gpg: aka "Thomas Huth <thuth@redhat.com>" [full] # gpg: aka "Thomas Huth <huth@tuxfamily.org>" [full] # gpg: aka "Thomas Huth <th.huth@posteo.de>" [unknown] # Primary key fingerprint: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5 * remotes/thuth-gitlab/tags/pull-request-2021-05-14: cirrus.yml: Fix the MSYS2 task pc-bios/s390-ccw: Fix inline assembly for older versions of Clang tests/qtest/migration-test: Use g_autofree to avoid leaks on error paths configure: Poison all current target-specific #defines migration: Move populate_vfio_info() into a separate file include/sysemu: Poison all accelerator CONFIG switches in common code tests: Avoid side effects inside g_assert() arguments tests/qtest/rtc-test: Remove pointless NULL check tests/qtest/tpm-util.c: Free memory with correct free function tests/migration-test: Fix "true" vs true tests/qtest/npcm7xx_pwm-test.c: Avoid g_assert_true() for non-test assertions tests/qtest/ahci-test.c: Calculate iso_size with 64-bit arithmetic util/compatfd.c: Replaced a malloc call with g_malloc. libqtest: refuse QTEST_QEMU_BINARY=qemu-kvm docs/devel/qgraph: add troubleshooting information libqos/qgraph: fix "UNAVAILBLE" typo gitlab-ci: Replace YAML anchors by extends (native_test_job) gitlab-ci: Replace YAML anchors by extends (native_build_job) gitlab-ci: Replace YAML anchors by extends (container_job) tests/docker/dockerfiles: Add ccache to containers where it was missing Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2021-05-14sphinx: adopt kernel readthedoc themeMarc-André Lureau6-0/+6
The default "alabaster" sphinx theme has a couple shortcomings: - the navbar moves along the page - the search bar is not always at the same place - it lacks some contrast and colours The "rtd" theme from readthedocs.org is a popular third party theme used notably by the kernel, with a custom style sheet. I like it better, perhaps others do too. It also simplifies the "Edit on Gitlab" links. Tweak a bit the custom theme to match qemu.org style, use the QEMU logo, and favicon etc. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Tested-by: Bin Meng <bmeng.cn@gmail.com> Message-Id: <20210323115328.4146052-1-marcandre.lureau@redhat.com> Reviewed-by: John Snow <jsnow@redhat.com>
2021-05-14tests/docker/dockerfiles: Add ccache to containers where it was missingThomas Huth5-0/+5
Make sure that ccache is available in all containers. Message-Id: <20210414081907.871437-2-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2021-04-06gitlab-ci.yml: Test the dtrace backend in one of the jobsThomas Huth1-0/+1
We are using the dtrace backend in downstream RHEL, so testing this in the CentOS 8 task seems to be a good fit. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Message-Id: <20210331160351.3071279-1-thuth@redhat.com> Message-Id: <20210401102530.12030-12-alex.bennee@linaro.org>
2021-04-06tests/docker: don't set DOCKER_REGISTRY on non-x86_64Alex Bennée1-1/+4
Currently our gitlab registry is x86_64 only so attempting to pull an image from it on something else will end in tears. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20210401102530.12030-3-alex.bennee@linaro.org>
2021-03-10tests/docker: Use --arch-only when building Debian cross imagePhilippe Mathieu-Daudé1-1/+1
When building a Docker image based on debian10.docker on a non-x86 host, we get: [2/4] RUN apt update && DEBIAN_FRONTEND=noninteractive eatmydata apt build-dep -yy qemu Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: builddeps:qemu : Depends: gcc-s390x-linux-gnu but it is not installable Depends: gcc-alpha-linux-gnu but it is not installable E: Unable to correct problems, you have held broken packages. Fix by using the --arch-only option suggested here: https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1866032/comments/1 Suggested-by: Christian Ehrhardt <christian.ehrhardt@canonical.com> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210223211115.2971565-1-f4bug@amsat.org> Message-Id: <20210305092328.31792-10-alex.bennee@linaro.org>
2021-03-10tests/docker: add a test-tcg for building then running check-tcgAlex Bennée1-0/+22
This is mostly useful for verifying containers will work on the CI setup. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20210305092328.31792-4-alex.bennee@linaro.org>
2021-02-24docker: Bump Fedora images to release 33Philippe Mathieu-Daudé5-5/+5
Fedora 33 was released on October 27, 2020. Update all the Fedora 32 images to this new release. Suggested-by: Daniel Berrangé <berrange@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20210118181255.314672-1-philmd@redhat.com> Message-Id: <20210222101455.12640-3-alex.bennee@linaro.org>
2021-02-15tests/docker: remove travis containerDaniel P. Berrangé4-95/+2
The travis container that we have no longer matches what travis currently uses. As all x86 jobs are being moved to GitLab CI too, there is no compelling reason to update the travis container. It is simpler to just remove it. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Message-Id: <20210209135011.1224992-2-berrange@redhat.com> Message-Id: <20210211122750.22645-9-alex.bennee@linaro.org>
2021-02-15travis.yml: Move gprof/gcov test across to gitlabPhilippe Mathieu-Daudé1-0/+2
Similarly to commit 8cdb2cef3f1, move the gprof/gcov test to GitLab. The coverage-summary.sh script is not Travis-CI specific, make it generic. [thuth: Add gcovr and bsdmainutils which are required for the coverage-summary.sh script to the ubuntu docker file, and use 'check' as test target] Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Message-Id: <20201108204535.2319870-10-philmd@redhat.com> Message-Id: <20210211045455.456371-2-thuth@redhat.com> Message-Id: <20210211122750.22645-2-alex.bennee@linaro.org>
2021-02-08tests/docker: add a docker-exec-copy-testAlex Bennée3-2/+33
This provides test machinery for checking the QEMU copying logic works properly. It takes considerably less time to run than starting a debootstrap only for it to fail later. I considered adding a remove command to docker.py but figured that might be gold plating given the relative size of the containers compared to the ones with actual stuff in them. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210202134001.25738-7-alex.bennee@linaro.org>
2021-02-08tests/docker: alias docker-help target for consistencyAlex Bennée1-1/+3
We have a bunch of -help targets so this will save some cognitive dissonance. Keep the original for those with muscle memory. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20210202134001.25738-6-alex.bennee@linaro.org>
2021-02-08tests/docker: preserve original name when copying libsAlex Bennée1-3/+4
While it is important we chase down the symlinks to copy the correct data we can confuse the kernel by renaming the interpreter to what is in the binary. Extend _copy_with_mkdir to preserve the original name of the file when asked. Fixes: 5e33f7fead ("tests/docker: better handle symlinked libs") Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210202134001.25738-5-alex.bennee@linaro.org>
2021-02-08tests/docker: make _copy_with_mkdir accept missing filesAlex Bennée1-1/+6
Depending on the linker/ldd setup we might get a file with no path. Typically this is the psuedo library linux-vdso.so which doesn't actually exist on the disk. Rather than try and catch these distro specific edge cases just shout about it and try and continue. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20210202134001.25738-4-alex.bennee@linaro.org>
2021-02-08tests/docker: Fix typo in help messagePhilippe Mathieu-Daudé1-1/+1
To have the variable properly passed, we need to set it, ie. NOUSER=1. Fix the message displayed by 'make docker'. Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210119052120.522069-1-f4bug@amsat.org> Message-Id: <20210202134001.25738-3-alex.bennee@linaro.org>
2021-02-08tests/docker: Fix _get_so_libs() for docker-binfmt-imagePhilippe Mathieu-Daudé1-1/+1
Fix a variable rename mistake from commit 5e33f7fead5: Traceback (most recent call last): File "./tests/docker/docker.py", line 710, in <module> sys.exit(main()) File "./tests/docker/docker.py", line 706, in main return args.cmdobj.run(args, argv) File "./tests/docker/docker.py", line 489, in run _copy_binary_with_libs(args.include_executable, File "./tests/docker/docker.py", line 149, in _copy_binary_with_libs libs = _get_so_libs(src) File "./tests/docker/docker.py", line 123, in _get_so_libs libs.append(s.group(1)) NameError: name 's' is not defined Fixes: 5e33f7fead5 ("tests/docker: better handle symlinked libs") Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210119050149.516910-1-f4bug@amsat.org> Message-Id: <20210202134001.25738-2-alex.bennee@linaro.org>
2021-01-26gitlab-ci.yml: Avoid some submodules to speed up the CI a little bitThomas Huth4-0/+6
Since the meson build system rework, the configure script prefers the git submodules over the system libraries. So we are testing compilation with capstone, fdt and libslirp as a submodule all over the place, burning CPU cycles by recompiling these third party modules and wasting some network bandwidth in the CI by cloning the submodules each time. Let's stop doing that in at least a couple of jobs and use the system libraries instead. While we're at it, also install meson in the Fedora container, since it is new enough already, so we do not need to check out the meson submodule here. Message-Id: <20210121174451.658924-1-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2021-01-26tests/docker: Install static libc package in CentOS 7Philippe Mathieu-Daudé1-0/+1
We need to install the static libc package to be able to run the TCG tests: $ make check-tcg ... BUILD TCG tests for x86_64-softmmu BUILD x86_64-softmmu guest-tests with cc /usr/bin/ld: hello: warning: allocated section `.notes' not in segment /usr/bin/ld: memory: warning: allocated section `.notes' not in segment BUILD TCG tests for x86_64-linux-user BUILD x86_64-linux-user guest-tests with cc /usr/bin/ld: cannot find -lpthread /usr/bin/ld: cannot find -lc collect2: error: ld returned 1 exit status make[2]: *** [threadcount] Error 1 make[1]: *** [cross-build-guest-tests] Error 2 make: *** [build-tcg-tests-x86_64-linux-user] Error 2 Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Message-Id: <20210121172829.1643620-2-f4bug@amsat.org> Signed-off-by: Thomas Huth <thuth@redhat.com>
2021-01-20tests/docker: Add dockerfile for Alpine LinuxJiaxun Yang1-0/+55
Alpine Linux[1] is a security-oriented, lightweight Linux distribution based on musl libc and busybox. It it popular among Docker guests and embedded applications. Adding it to test against different libc. [1]: https://alpinelinux.org/ Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Message-Id: <20210118063808.12471-9-jiaxun.yang@flygoat.com> [thuth: Dropped some unnecessary packages, replaced build-base with its deps] Signed-off-by: Thomas Huth <thuth@redhat.com>
2021-01-18docker: expand debian-amd64 image to include tag toolsAlex Bennée1-1/+4
This is going to be helpful when we want to both test the tool integration and in the case of global generate a xref doc build. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20210114165730.31607-9-alex.bennee@linaro.org>
2021-01-18Add newline when generating DockerfileAlessandro Di Federico1-2/+2
Signed-off-by: Alessandro Di Federico <ale@rev.ng> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <1610080146-14968-36-git-send-email-tsimpson@quicinc.com> Message-Id: <20210114165730.31607-5-alex.bennee@linaro.org>