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 extends: .custom_artifacts_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_artifacts_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-alldbg: 49 extends: .custom_artifacts_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 - 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 67ubuntu-22.04-aarch64-clang: 68 extends: .custom_artifacts_template 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 --cxx=clang++ --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 89ubuntu-22.04-aarch64-tci: 90 needs: [] 91 stage: build 92 tags: 93 - ubuntu_22.04 94 - aarch64 95 rules: 96 - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/' 97 when: manual 98 allow_failure: true 99 - if: "$AARCH64_RUNNER_AVAILABLE" 100 when: manual 101 allow_failure: true 102 script: 103 - mkdir build 104 - cd build 105 - ../configure --enable-tcg-interpreter 106 || { cat config.log meson-logs/meson-log.txt; exit 1; } 107 - make --output-sync -j`nproc --ignore=40` 108 109ubuntu-22.04-aarch64-notcg: 110 extends: .custom_artifacts_template 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