aboutsummaryrefslogtreecommitdiff
path: root/.gitlab-ci.d/container-cross.yml
AgeCommit message (Collapse)Author
2022-12-23tests/docker: use prebuilt toolchain for debian-hexagon-crossMukilan Thiyagarajan
The current docker image for cross compiling hexagon guests is manually built since it takes >2 hours to build from source. This patch: 1. Solves the above issue by using the prebuilt clang toolchain hosted on CodeLinaro [1] and maintained by QUIC [2]. 2. The dockerfile is also switched from multi-stage to single stage build to allow the CI docker engine to reuse the layer cache. 3. Re-enables the hexagon-cross-container job to be always run in CI and makes it a non-optional dependency for the build-user-hexagon job. The changes for 1 & 2 together bring down the build time to ~3 minutes in GitLab CI when cache is reused and ~9 minutes when cache cannot be reused. [1]: https://github.com/CodeLinaro/hexagon-builder [2]: https://github.com/quic/toolchain_for_hexagon/releases/ Signed-off-by: Mukilan Thiyagarajan <quic_mthiyaga@quicinc.com> [AJB: also tweak MAINTAINERS, remove QEMU_JOB_ONLY_FORKS and comment] Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20221219144354.11659-1-quic_mthiyaga@quicinc.com> Message-Id: <20221221090411.1995037-6-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/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-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-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-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-01tests/docker: update debian-ppc64el-cross with lcitoolAlex Bennée
Use lcitool to update debian-ppc64el-cross to a Debian 11 based system. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20220527153603.887929-11-alex.bennee@linaro.org>
2022-06-01tests/docker: update debian-mips64el-cross with lcitoolAlex Bennée
Use lcitool to update debian-mips64el-cross to a Debian 11 based system. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20220527153603.887929-10-alex.bennee@linaro.org>
2022-06-01tests/docker: update debian-mipsel-cross with lcitoolAlex Bennée
Use lcitool to update debian-mipsel-cross to a Debian 11 based system. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20220527153603.887929-9-alex.bennee@linaro.org>
2022-06-01tests/docker: update debian-armel-cross with lcitoolAlex Bennée
Use lcitool to update debian-armel-cross to a Debian 11 based system. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20220527153603.887929-8-alex.bennee@linaro.org>
2022-06-01tests/docker: update debian-armhf-cross with lcitoolAlex Bennée
Use lcitool to update debian-armhf-cross to a Debian 11 based system. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20220527153603.887929-7-alex.bennee@linaro.org>
2022-06-01.gitlab-ci.d/container-cross: Fix RISC-V container dependencies / stagesThomas Huth
The "riscv64-debian-cross-container" job does not depend on any other container job from the first stage, so we can move it to the first stage, too. The "riscv64-debian-test-cross-container" job needs the debian11 container, so we should add a proper "needs:" statement here. Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <20220524093141.91012-1-thuth@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-Id: <20220527153603.887929-2-alex.bennee@linaro.org>
2022-02-28tests/docker: introduce debian-riscv64-test-crossAlex Bennée
Cross building QEMU for riscv64 still involves messing about with sid and ports. However for building tests we can have a slimmer compiler only container which should be more stable. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220225172021.3493923-7-alex.bennee@linaro.org>
2022-02-28tests/docker: update debian-s390x-cross with lcitoolAlex Bennée
A later compiler is needed for some upcomming tests so we might as well migrate to an lcitool generated docker file. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Cc: David Hildenbrand <david@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220225172021.3493923-6-alex.bennee@linaro.org>
2022-02-28tests/docker: update debian-arm64-cross with lcitoolAlex Bennée
Using lcitool update debian-arm64-cross to a Debian 11 based system. As a result we can drop debian-arm64-test-cross just for building tests. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220225172021.3493923-5-alex.bennee@linaro.org>
2021-10-12tests/docker: promote debian-riscv64-cross to a full imageAlex Bennée
To be able to cross build QEMU itself we need to include a few more libraries. These are only available in Debian's unstable ports repo for now so we need to base the riscv64 image on sid with the the minimal libs needed to build QEMU (glib/pixman). The result works but is not as clean as using build-dep to bring in more dependencies. However sid is by definition a shifting pile of sand and by keeping the list of libs minimal we reduce the chance of having an image we can't build. It's good enough for a basic cross build testing of TCG. Cc: "Daniel P. Berrangé" <berrange@redhat.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20210914185830.1378771-2-richard.henderson@linaro.org> [AJB: tweak allow_failure] Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20210917162332.3511179-5-alex.bennee@linaro.org>
2021-05-27gitlab: Extract cross-container jobs to container-cross.ymlPhilippe Mathieu-Daudé
Extract the jobs preparing the cross containers into a new file (container-cross.yml). Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Message-Id: <20210525082556.4011380-5-f4bug@amsat.org>