@ -2,150 +2,112 @@
# setup by the scripts/ci/setup/ubuntu/build-environment.yml task
# "Install basic packages to build QEMU on Ubuntu 24.04"
.ubuntu_aarch64_template:
extends : .custom_runner_template
needs : [ ]
stage : build
tags:
- ubuntu_24.04
- aarch64
rules:
- if : '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
- if : "$AARCH64_RUNNER_AVAILABLE"
before_script:
- source scripts/ci/gitlab-ci-section
- section_start setup "Pre-script setup"
- JOBS=$(expr $(nproc) - 4)
- section_end setup
script:
- mkdir build
- cd build
- section_start configure "Running configure"
- ../configure $CONFIGURE_ARGS ||
{ cat config.log meson-logs/meson-log.txt && exit 1; }
- section_end configure
- section_start build "Building QEMU"
- make --output-sync -j"$JOBS"
- section_end build
- section_start test "Running tests"
- if test -n "$MAKE_CHECK_ARGS";
then
make -j"$JOBS" $MAKE_CHECK_ARGS ;
fi
- section_end test
ubuntu-24.04-aarch64-all-linux-static:
extends : .custom_runner_template
needs : [ ]
stage : build
tags:
- ubuntu_24.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 check-tcg
- make --output-sync -j`nproc --ignore=40` check
extends : .ubuntu_aarch64_template
variables:
# Disable -static-pie due to build error with system libc:
# https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1987438
CONFIGURE_ARGS : --enable-debug --static --disable-system --disable-pie
MAKE_CHECK_ARGS : check-tcg
ubuntu-24.04-aarch64-all:
extends : .custom_runner_template
needs : [ ]
stage : build
tags:
- ubuntu_24.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
extends : .ubuntu_aarch64_template
variables:
MAKE_CHECK_ARGS : check
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
ubuntu-24.04-aarch64-without-defaults:
extends : .custom_runner_template
needs : [ ]
stage : build
tags:
- ubuntu_24.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-user --without-default-devices --without-default-features
|| { 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
extends : .ubuntu_aarch64_template
variables:
CONFIGURE_ARGS : --disable-user --without-default-devices --without-default-features
MAKE_CHECK_ARGS : check
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
ubuntu-24.04-aarch64-alldbg:
extends : .custom_runner_template
needs : [ ]
stage : build
tags:
- ubuntu_24.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
extends : .ubuntu_aarch64_template
variables:
CONFIGURE_ARGS : --enable-debug
MAKE_CHECK_ARGS : check-tcg
ubuntu-24.04-aarch64-clang:
extends : .custom_runner_template
needs : [ ]
stage : build
tags:
- ubuntu_24.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 --cxx=clang++ --enable-ubsan
|| { 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
extends : .ubuntu_aarch64_template
variables:
CONFIGURE_ARGS : --cc=clang --cxx=clang++ --enable-ubsan
MAKE_CHECK_ARGS : check
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
ubuntu-24.04-aarch64-tci:
needs : [ ]
stage : build
tags:
- ubuntu_24.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`
extends : .ubuntu_aarch64_template
variables:
CONFIGURE_ARGS : --enable-tcg-interpreter
MAKE_CHECK_ARGS : check
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
ubuntu-24.04-aarch64-notcg:
extends : .custom_runner_template
needs : [ ]
stage : build
tags:
- ubuntu_24.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 --with-devices-aarch64=minimal
|| { 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
extends : .ubuntu_aarch64_template
variables:
CONFIGURE_ARGS : --disable-tcg --with-devices-aarch64=minimal
MAKE_CHECK_ARGS : check
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