1# All ubuntu-20.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 20.04" 4 5ubuntu-22.04-aarch64-all-linux-static: 6 needs: [] 7 stage: build 8 tags: 9 - ubuntu_22.04 10 - aarch64 11 rules: 12 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/' 13 - if: "$AARCH64_RUNNER_AVAILABLE" 14 script: 15 - mkdir build 16 - cd build 17 # Disable -static-pie due to build error with system libc: 18 # https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1987438 19 - ../configure --enable-debug --static --disable-system --disable-pie 20 || { cat config.log meson-logs/meson-log.txt; exit 1; } 21 - make --output-sync -j`nproc --ignore=40` 22 - make --output-sync -j`nproc --ignore=40` check 23 || { cat meson-logs/testlog.txt; exit 1; } ; 24 - make --output-sync -j`nproc --ignore=40` check-tcg 25 || { cat meson-logs/testlog.txt; exit 1; } ; 26 27ubuntu-22.04-aarch64-all: 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 || { cat meson-logs/testlog.txt; exit 1; } ; 48 49ubuntu-22.04-aarch64-alldbg: 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 - if: "$AARCH64_RUNNER_AVAILABLE" 58 script: 59 - mkdir build 60 - cd build 61 - ../configure --enable-debug 62 || { cat config.log meson-logs/meson-log.txt; exit 1; } 63 - make clean 64 - make --output-sync -j`nproc --ignore=40` 65 - make --output-sync -j`nproc --ignore=40` check 66 || { cat meson-logs/testlog.txt; exit 1; } ; 67 68ubuntu-22.04-aarch64-clang: 69 needs: [] 70 stage: build 71 tags: 72 - ubuntu_22.04 73 - aarch64 74 rules: 75 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/' 76 when: manual 77 allow_failure: true 78 - if: "$AARCH64_RUNNER_AVAILABLE" 79 when: manual 80 allow_failure: true 81 script: 82 - mkdir build 83 - cd build 84 - ../configure --disable-libssh --cc=clang-10 --cxx=clang++-10 --enable-sanitizers 85 || { cat config.log meson-logs/meson-log.txt; exit 1; } 86 - make --output-sync -j`nproc --ignore=40` 87 - make --output-sync -j`nproc --ignore=40` check 88 || { cat meson-logs/testlog.txt; exit 1; } ; 89 90ubuntu-22.04-aarch64-tci: 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 --enable-tcg-interpreter 107 || { cat config.log meson-logs/meson-log.txt; exit 1; } 108 - make --output-sync -j`nproc --ignore=40` 109 110ubuntu-22.04-aarch64-notcg: 111 needs: [] 112 stage: build 113 tags: 114 - ubuntu_22.04 115 - aarch64 116 rules: 117 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/' 118 when: manual 119 allow_failure: true 120 - if: "$AARCH64_RUNNER_AVAILABLE" 121 when: manual 122 allow_failure: true 123 script: 124 - mkdir build 125 - cd build 126 - ../configure --disable-tcg 127 || { cat config.log meson-logs/meson-log.txt; exit 1; } 128 - make --output-sync -j`nproc --ignore=40` 129 - make --output-sync -j`nproc --ignore=40` check 130 || { cat meson-logs/testlog.txt; exit 1; } ; 131