qemu/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch64.yml
<<
>>
Prefs
   1# All ubuntu-22.04 jobs should run successfully in an environment
   2# setup by the scripts/ci/setup/ubuntu/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-ubsan
 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