Philippe Mathieu-Daudé | ecac85f | 2021-05-19 20:54:58 +0200 | [diff] [blame] | 1 | .cross_system_build_job: |
Daniel P. Berrangé | e312d1f | 2022-05-27 16:36:01 +0100 | [diff] [blame] | 2 | extends: .base_job_template |
Philippe Mathieu-Daudé | ecac85f | 2021-05-19 20:54:58 +0200 | [diff] [blame] | 3 | stage: build |
Daniel P. Berrangé | d4c7a56 | 2023-06-08 17:40:14 +0100 | [diff] [blame] | 4 | image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG |
Daniel P. Berrangé | 2f7350c | 2023-08-29 17:15:17 +0100 | [diff] [blame] | 5 | cache: |
| 6 | paths: |
| 7 | - ccache |
| 8 | key: "$CI_JOB_NAME" |
| 9 | when: always |
Philippe Mathieu-Daudé | ecac85f | 2021-05-19 20:54:58 +0200 | [diff] [blame] | 10 | timeout: 80m |
Daniel P. Berrangé | b86a469 | 2024-07-29 15:44:02 +0100 | [diff] [blame] | 11 | before_script: |
| 12 | - cat /packages.txt |
Philippe Mathieu-Daudé | ecac85f | 2021-05-19 20:54:58 +0200 | [diff] [blame] | 13 | script: |
Daniel P. Berrangé | 2f7350c | 2023-08-29 17:15:17 +0100 | [diff] [blame] | 14 | - export CCACHE_BASEDIR="$(pwd)" |
| 15 | - export CCACHE_DIR="$CCACHE_BASEDIR/ccache" |
| 16 | - export CCACHE_MAXSIZE="500M" |
| 17 | - export PATH="$CCACHE_WRAPPERSDIR:$PATH" |
Philippe Mathieu-Daudé | ecac85f | 2021-05-19 20:54:58 +0200 | [diff] [blame] | 18 | - mkdir build |
| 19 | - cd build |
Daniel P. Berrangé | 2f7350c | 2023-08-29 17:15:17 +0100 | [diff] [blame] | 20 | - ccache --zero-stats |
Thomas Huth | eda2321 | 2023-02-07 21:14:47 +0100 | [diff] [blame] | 21 | - ../configure --enable-werror --disable-docs --enable-fdt=system |
| 22 | --disable-user $QEMU_CONFIGURE_OPTS $EXTRA_CONFIGURE_OPTS |
| 23 | --target-list-exclude="arm-softmmu cris-softmmu |
Philippe Mathieu-Daudé | ecac85f | 2021-05-19 20:54:58 +0200 | [diff] [blame] | 24 | i386-softmmu microblaze-softmmu mips-softmmu mipsel-softmmu |
Daniel P. Berrangé | a623549 | 2021-08-10 15:06:52 +0100 | [diff] [blame] | 25 | mips64-softmmu ppc-softmmu riscv32-softmmu sh4-softmmu |
Daniel P. Berrangé | a1f0f36 | 2021-08-10 15:06:53 +0100 | [diff] [blame] | 26 | sparc-softmmu xtensa-softmmu $CROSS_SKIP_TARGETS" |
Philippe Mathieu-Daudé | ecac85f | 2021-05-19 20:54:58 +0200 | [diff] [blame] | 27 | - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS |
Gerd Hoffmann | 8619b5d | 2021-06-23 11:11:35 +0200 | [diff] [blame] | 28 | - if grep -q "EXESUF=.exe" config-host.mak; |
| 29 | then make installer; |
Stefan Hajnoczi | 6340af7 | 2022-02-04 20:43:22 +0000 | [diff] [blame] | 30 | version="$(git describe --match v[0-9]* 2>/dev/null || git rev-parse --short HEAD)"; |
Gerd Hoffmann | 8619b5d | 2021-06-23 11:11:35 +0200 | [diff] [blame] | 31 | mv -v qemu-setup*.exe qemu-setup-${version}.exe; |
| 32 | fi |
Daniel P. Berrangé | 2f7350c | 2023-08-29 17:15:17 +0100 | [diff] [blame] | 33 | - ccache --show-stats |
Philippe Mathieu-Daudé | ecac85f | 2021-05-19 20:54:58 +0200 | [diff] [blame] | 34 | |
| 35 | # Job to cross-build specific accelerators. |
| 36 | # |
| 37 | # Set the $ACCEL variable to select the specific accelerator (default to |
| 38 | # KVM), and set extra options (such disabling other accelerators) via the |
| 39 | # $EXTRA_CONFIGURE_OPTS variable. |
| 40 | .cross_accel_build_job: |
Daniel P. Berrangé | e312d1f | 2022-05-27 16:36:01 +0100 | [diff] [blame] | 41 | extends: .base_job_template |
Philippe Mathieu-Daudé | ecac85f | 2021-05-19 20:54:58 +0200 | [diff] [blame] | 42 | stage: build |
Daniel P. Berrangé | d4c7a56 | 2023-06-08 17:40:14 +0100 | [diff] [blame] | 43 | image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG |
Philippe Mathieu-Daudé | ecac85f | 2021-05-19 20:54:58 +0200 | [diff] [blame] | 44 | timeout: 30m |
Daniel P. Berrangé | 2f7350c | 2023-08-29 17:15:17 +0100 | [diff] [blame] | 45 | cache: |
| 46 | paths: |
| 47 | - ccache/ |
| 48 | key: "$CI_JOB_NAME" |
Philippe Mathieu-Daudé | ecac85f | 2021-05-19 20:54:58 +0200 | [diff] [blame] | 49 | script: |
Daniel P. Berrangé | 2f7350c | 2023-08-29 17:15:17 +0100 | [diff] [blame] | 50 | - export CCACHE_BASEDIR="$(pwd)" |
| 51 | - export CCACHE_DIR="$CCACHE_BASEDIR/ccache" |
| 52 | - export CCACHE_MAXSIZE="500M" |
| 53 | - export PATH="$CCACHE_WRAPPERSDIR:$PATH" |
Philippe Mathieu-Daudé | ecac85f | 2021-05-19 20:54:58 +0200 | [diff] [blame] | 54 | - mkdir build |
| 55 | - cd build |
Daniel P. Berrangé | 190973d | 2022-11-03 13:30:43 -0400 | [diff] [blame] | 56 | - ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS |
Philippe Mathieu-Daudé | ecac85f | 2021-05-19 20:54:58 +0200 | [diff] [blame] | 57 | --disable-tools --enable-${ACCEL:-kvm} $EXTRA_CONFIGURE_OPTS |
| 58 | - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS |
| 59 | |
| 60 | .cross_user_build_job: |
Daniel P. Berrangé | e312d1f | 2022-05-27 16:36:01 +0100 | [diff] [blame] | 61 | extends: .base_job_template |
Philippe Mathieu-Daudé | ecac85f | 2021-05-19 20:54:58 +0200 | [diff] [blame] | 62 | stage: build |
Daniel P. Berrangé | d4c7a56 | 2023-06-08 17:40:14 +0100 | [diff] [blame] | 63 | image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG |
Daniel P. Berrangé | 2f7350c | 2023-08-29 17:15:17 +0100 | [diff] [blame] | 64 | cache: |
| 65 | paths: |
| 66 | - ccache/ |
| 67 | key: "$CI_JOB_NAME" |
Philippe Mathieu-Daudé | ecac85f | 2021-05-19 20:54:58 +0200 | [diff] [blame] | 68 | script: |
Daniel P. Berrangé | 2f7350c | 2023-08-29 17:15:17 +0100 | [diff] [blame] | 69 | - export CCACHE_BASEDIR="$(pwd)" |
| 70 | - export CCACHE_DIR="$CCACHE_BASEDIR/ccache" |
| 71 | - export CCACHE_MAXSIZE="500M" |
Philippe Mathieu-Daudé | ecac85f | 2021-05-19 20:54:58 +0200 | [diff] [blame] | 72 | - mkdir build |
| 73 | - cd build |
Daniel P. Berrangé | 190973d | 2022-11-03 13:30:43 -0400 | [diff] [blame] | 74 | - ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS |
Alex Bennée | 9864b7f | 2022-09-14 16:59:21 +0100 | [diff] [blame] | 75 | --disable-system --target-list-exclude="aarch64_be-linux-user |
| 76 | alpha-linux-user cris-linux-user m68k-linux-user microblazeel-linux-user |
Philippe Mathieu-Daudé | 6c30148 | 2024-03-27 12:10:58 +0100 | [diff] [blame] | 77 | or1k-linux-user ppc-linux-user sparc-linux-user |
Alex Bennée | 9864b7f | 2022-09-14 16:59:21 +0100 | [diff] [blame] | 78 | xtensa-linux-user $CROSS_SKIP_TARGETS" |
Philippe Mathieu-Daudé | ecac85f | 2021-05-19 20:54:58 +0200 | [diff] [blame] | 79 | - make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS |
Alex Bennée | 1ea5e0b | 2023-02-28 19:06:41 +0000 | [diff] [blame] | 80 | |
| 81 | # We can still run some tests on some of our cross build jobs. They can add this |
| 82 | # template to their extends to save the build logs and test results |
| 83 | .cross_test_artifacts: |
| 84 | artifacts: |
| 85 | name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" |
Daniel P. Berrangé | cef6330 | 2023-06-30 19:03:46 +0100 | [diff] [blame] | 86 | when: always |
Alex Bennée | 1ea5e0b | 2023-02-28 19:06:41 +0000 | [diff] [blame] | 87 | expire_in: 7 days |
| 88 | paths: |
| 89 | - build/meson-logs/testlog.txt |
| 90 | reports: |
| 91 | junit: build/meson-logs/testlog.junit.xml |