1# All ubuntu-22.04 jobs should run successfully in an environment 2# setup by the scripts/ci/setup/qemu/build-environment.yml task 3# "Install basic packages to build QEMU on Ubuntu 22.04" 4 5ubuntu-22.04-aarch64-all-linux-static: 6 extends: .custom_runner_template 7 needs: [] 8 stage: build 9 tags: 10 - ubuntu_22.04 11 - aarch64 12 rules: 13 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/' 14 - if: "$AARCH64_RUNNER_AVAILABLE" 15 script: 16 - mkdir build 17 - cd build 18 # Disable -static-pie due to build error with system libc: 19 # https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1987438 20 - ../configure --enable-debug --static --disable-system --disable-pie 21 || { cat config.log meson-logs/meson-log.txt; exit 1; } 22 - make --output-sync -j`nproc --ignore=40` 23 - make check-tcg 24 - make --output-sync -j`nproc --ignore=40` check 25 26ubuntu-22.04-aarch64-all: 27 extends: .custom_runner_template 28 needs: [] 29 stage: build 30 tags: 31 - ubuntu_22.04 32 - aarch64 33 rules: 34 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/' 35 when: manual 36 allow_failure: true 37 - if: "$AARCH64_RUNNER_AVAILABLE" 38 when: manual 39 allow_failure: true 40 script: 41 - mkdir build 42 - cd build 43 - ../configure 44 || { cat config.log meson-logs/meson-log.txt; exit 1; } 45 - make --output-sync -j`nproc --ignore=40` 46 - make --output-sync -j`nproc --ignore=40` check 47 48ubuntu-22.04-aarch64-without-defaults: 49 extends: .custom_runner_template 50 needs: [] 51 stage: build 52 tags: 53 - ubuntu_22.04 54 - aarch64 55 rules: 56 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/' 57 when: manual 58 allow_failure: true 59 - if: "$AARCH64_RUNNER_AVAILABLE" 60 when: manual 61 allow_failure: true 62 script: 63 - mkdir build 64 - cd build 65 - ../configure --disable-user --without-default-devices --without-default-features 66 || { cat config.log meson-logs/meson-log.txt; exit 1; } 67 - make --output-sync -j`nproc --ignore=40` 68 - make --output-sync -j`nproc --ignore=40` check 69 70ubuntu-22.04-aarch64-alldbg: 71 extends: .custom_runner_template 72 needs: [] 73 stage: build 74 tags: 75 - ubuntu_22.04 76 - aarch64 77 rules: 78 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/' 79 - if: "$AARCH64_RUNNER_AVAILABLE" 80 script: 81 - mkdir build 82 - cd build 83 - ../configure --enable-debug 84 || { cat config.log meson-logs/meson-log.txt; exit 1; } 85 - make clean 86 - make --output-sync -j`nproc --ignore=40` 87 - make --output-sync -j`nproc --ignore=40` check 88 89ubuntu-22.04-aarch64-clang: 90 extends: .custom_runner_template 91 needs: [] 92 stage: build 93 tags: 94 - ubuntu_22.04 95 - aarch64 96 rules: 97 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/' 98 when: manual 99 allow_failure: true 100 - if: "$AARCH64_RUNNER_AVAILABLE" 101 when: manual 102 allow_failure: true 103 script: 104 - mkdir build 105 - cd build 106 - ../configure --disable-libssh --cc=clang --cxx=clang++ --enable-sanitizers 107 || { cat config.log meson-logs/meson-log.txt; exit 1; } 108 - make --output-sync -j`nproc --ignore=40` 109 - make --output-sync -j`nproc --ignore=40` check 110 111ubuntu-22.04-aarch64-tci: 112 needs: [] 113 stage: build 114 tags: 115 - ubuntu_22.04 116 - aarch64 117 rules: 118 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/' 119 when: manual 120 allow_failure: true 121 - if: "$AARCH64_RUNNER_AVAILABLE" 122 when: manual 123 allow_failure: true 124 script: 125 - mkdir build 126 - cd build 127 - ../configure --enable-tcg-interpreter 128 || { cat config.log meson-logs/meson-log.txt; exit 1; } 129 - make --output-sync -j`nproc --ignore=40` 130 131ubuntu-22.04-aarch64-notcg: 132 extends: .custom_runner_template 133 needs: [] 134 stage: build 135 tags: 136 - ubuntu_22.04 137 - aarch64 138 rules: 139 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/' 140 when: manual 141 allow_failure: true 142 - if: "$AARCH64_RUNNER_AVAILABLE" 143 when: manual 144 allow_failure: true 145 script: 146 - mkdir build 147 - cd build 148 - ../configure --disable-tcg --with-devices-aarch64=minimal 149 || { cat config.log meson-logs/meson-log.txt; exit 1; } 150 - make --output-sync -j`nproc --ignore=40` 151 - make --output-sync -j`nproc --ignore=40` check 152