# All ubuntu-20.04 jobs should run successfully in an environment # setup by the scripts/ci/setup/qemu/build-environment.yml task # "Install basic packages to build QEMU on Ubuntu 20.04" ubuntu-22.04-aarch64-all-linux-static: needs: [] stage: build tags: - ubuntu_22.04 - aarch64 rules: - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/' - if: "$AARCH64_RUNNER_AVAILABLE" script: - mkdir build - cd build # Disable -static-pie due to build error with system libc: # https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1987438 - ../configure --enable-debug --static --disable-system --disable-pie || { cat config.log meson-logs/meson-log.txt; exit 1; } - make --output-sync -j`nproc --ignore=40` - make --output-sync -j`nproc --ignore=40` check V=1 || { cat meson-logs/testlog.txt; exit 1; } ; - make --output-sync -j`nproc --ignore=40` check-tcg V=1 || { cat meson-logs/testlog.txt; exit 1; } ; ubuntu-22.04-aarch64-all: needs: [] stage: build tags: - ubuntu_22.04 - aarch64 rules: - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/' when: manual allow_failure: true - if: "$AARCH64_RUNNER_AVAILABLE" when: manual allow_failure: true script: - mkdir build - cd build - ../configure || { cat config.log meson-logs/meson-log.txt; exit 1; } - make --output-sync -j`nproc --ignore=40` - make --output-sync -j`nproc --ignore=40` check V=1 || { cat meson-logs/testlog.txt; exit 1; } ; ubuntu-22.04-aarch64-alldbg: needs: [] stage: build tags: - ubuntu_22.04 - aarch64 rules: - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/' - if: "$AARCH64_RUNNER_AVAILABLE" script: - mkdir build - cd build - ../configure --enable-debug || { cat config.log meson-logs/meson-log.txt; exit 1; } - make clean - make --output-sync -j`nproc --ignore=40` - make --output-sync -j`nproc --ignore=40` check V=1 || { cat meson-logs/testlog.txt; exit 1; } ; ubuntu-22.04-aarch64-clang: needs: [] stage: build tags: - ubuntu_22.04 - aarch64 rules: - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/' when: manual allow_failure: true - if: "$AARCH64_RUNNER_AVAILABLE" when: manual allow_failure: true script: - mkdir build - cd build - ../configure --disable-libssh --cc=clang-10 --cxx=clang++-10 --enable-sanitizers || { cat config.log meson-logs/meson-log.txt; exit 1; } - make --output-sync -j`nproc --ignore=40` - make --output-sync -j`nproc --ignore=40` check V=1 || { cat meson-logs/testlog.txt; exit 1; } ; ubuntu-22.04-aarch64-tci: needs: [] stage: build tags: - ubuntu_22.04 - aarch64 rules: - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/' when: manual allow_failure: true - if: "$AARCH64_RUNNER_AVAILABLE" when: manual allow_failure: true script: - mkdir build - cd build - ../configure --enable-tcg-interpreter || { cat config.log meson-logs/meson-log.txt; exit 1; } - make --output-sync -j`nproc --ignore=40` ubuntu-22.04-aarch64-notcg: needs: [] stage: build tags: - ubuntu_22.04 - aarch64 rules: - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/' when: manual allow_failure: true - if: "$AARCH64_RUNNER_AVAILABLE" when: manual allow_failure: true script: - mkdir build - cd build - ../configure --disable-tcg || { cat config.log meson-logs/meson-log.txt; exit 1; } - make --output-sync -j`nproc --ignore=40` - make --output-sync -j`nproc --ignore=40` check V=1 || { cat meson-logs/testlog.txt; exit 1; } ;