qemu
91 строка · 3.1 Кб
1.cross_system_build_job:2extends: .base_job_template3stage: build4image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG5cache:6paths:7- ccache8key: "$CI_JOB_NAME"9when: always10timeout: 80m11before_script:12- cat /packages.txt13script:14- export CCACHE_BASEDIR="$(pwd)"15- export CCACHE_DIR="$CCACHE_BASEDIR/ccache"16- export CCACHE_MAXSIZE="500M"17- export PATH="$CCACHE_WRAPPERSDIR:$PATH"18- mkdir build19- cd build20- ccache --zero-stats21- ../configure --enable-werror --disable-docs --enable-fdt=system22--disable-user $QEMU_CONFIGURE_OPTS $EXTRA_CONFIGURE_OPTS23--target-list-exclude="arm-softmmu cris-softmmu24i386-softmmu microblaze-softmmu mips-softmmu mipsel-softmmu25mips64-softmmu ppc-softmmu riscv32-softmmu sh4-softmmu26sparc-softmmu xtensa-softmmu $CROSS_SKIP_TARGETS"27- make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS28- if grep -q "EXESUF=.exe" config-host.mak;29then make installer;
30version="$(git describe --match v[0-9]* 2>/dev/null || git rev-parse --short HEAD)";31mv -v qemu-setup*.exe qemu-setup-${version}.exe;32fi
33- ccache --show-stats34
35# Job to cross-build specific accelerators.
36#
37# Set the $ACCEL variable to select the specific accelerator (default to
38# KVM), and set extra options (such disabling other accelerators) via the
39# $EXTRA_CONFIGURE_OPTS variable.
40.cross_accel_build_job:41extends: .base_job_template42stage: build43image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG44timeout: 30m45cache:46paths:47- ccache/48key: "$CI_JOB_NAME"49script:50- export CCACHE_BASEDIR="$(pwd)"51- export CCACHE_DIR="$CCACHE_BASEDIR/ccache"52- export CCACHE_MAXSIZE="500M"53- export PATH="$CCACHE_WRAPPERSDIR:$PATH"54- mkdir build55- cd build56- ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS57--disable-tools --enable-${ACCEL:-kvm} $EXTRA_CONFIGURE_OPTS58- make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS59
60.cross_user_build_job:61extends: .base_job_template62stage: build63image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG64cache:65paths:66- ccache/67key: "$CI_JOB_NAME"68script:69- export CCACHE_BASEDIR="$(pwd)"70- export CCACHE_DIR="$CCACHE_BASEDIR/ccache"71- export CCACHE_MAXSIZE="500M"72- mkdir build73- cd build74- ../configure --enable-werror --disable-docs $QEMU_CONFIGURE_OPTS75--disable-system --target-list-exclude="aarch64_be-linux-user76alpha-linux-user cris-linux-user m68k-linux-user microblazeel-linux-user77or1k-linux-user ppc-linux-user sparc-linux-user78xtensa-linux-user $CROSS_SKIP_TARGETS"79- make -j$(expr $(nproc) + 1) all check-build $MAKE_CHECK_ARGS80
81# We can still run some tests on some of our cross build jobs. They can add this
82# template to their extends to save the build logs and test results
83.cross_test_artifacts:84artifacts:85name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"86when: always87expire_in: 7 days88paths:89- build/meson-logs/testlog.txt90reports:91junit: build/meson-logs/testlog.junit.xml92