mirror of https://gitee.com/openkylin/qemu.git
223 lines
5.4 KiB
YAML
223 lines
5.4 KiB
YAML
# The CI jobs defined here require GitLab runners installed and
|
|
# registered on machines that match their operating system names,
|
|
# versions and architectures. This is in contrast to the other CI
|
|
# jobs that are intended to run on GitLab's "shared" runners.
|
|
|
|
# Different than the default approach on "shared" runners, based on
|
|
# containers, the custom runners have no such *requirement*, as those
|
|
# jobs should be capable of running on operating systems with no
|
|
# compatible container implementation, or no support from
|
|
# gitlab-runner. To avoid problems that gitlab-runner can cause while
|
|
# reusing the GIT repository, let's enable the clone strategy, which
|
|
# guarantees a fresh repository on each job run.
|
|
variables:
|
|
GIT_STRATEGY: clone
|
|
|
|
# All ubuntu-18.04 jobs should run successfully in an environment
|
|
# setup by the scripts/ci/setup/build-environment.yml task
|
|
# "Install basic packages to build QEMU on Ubuntu 18.04/20.04"
|
|
ubuntu-18.04-s390x-all-linux-static:
|
|
allow_failure: true
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_18.04
|
|
- s390x
|
|
rules:
|
|
- if: '$CI_COMMIT_BRANCH =~ /^staging/'
|
|
script:
|
|
# --disable-libssh is needed because of https://bugs.launchpad.net/qemu/+bug/1838763
|
|
# --disable-glusterfs is needed because there's no static version of those libs in distro supplied packages
|
|
- mkdir build
|
|
- cd build
|
|
- ../configure --enable-debug --static --disable-system --disable-glusterfs --disable-libssh
|
|
- make --output-sync -j`nproc`
|
|
- make --output-sync -j`nproc` check V=1
|
|
- make --output-sync -j`nproc` check-tcg V=1
|
|
|
|
ubuntu-18.04-s390x-all:
|
|
allow_failure: true
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_18.04
|
|
- s390x
|
|
rules:
|
|
- if: '$CI_COMMIT_BRANCH =~ /^staging/'
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- ../configure --disable-libssh
|
|
- make --output-sync -j`nproc`
|
|
- make --output-sync -j`nproc` check V=1
|
|
|
|
ubuntu-18.04-s390x-alldbg:
|
|
allow_failure: true
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_18.04
|
|
- s390x
|
|
rules:
|
|
- if: '$CI_COMMIT_BRANCH =~ /^staging/'
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- ../configure --enable-debug --disable-libssh
|
|
- make clean
|
|
- make --output-sync -j`nproc`
|
|
- make --output-sync -j`nproc` check V=1
|
|
|
|
ubuntu-18.04-s390x-clang:
|
|
allow_failure: true
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_18.04
|
|
- s390x
|
|
rules:
|
|
- if: '$CI_COMMIT_BRANCH =~ /^staging/'
|
|
when: manual
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- ../configure --disable-libssh --cc=clang --cxx=clang++ --enable-sanitizers
|
|
- make --output-sync -j`nproc`
|
|
- make --output-sync -j`nproc` check V=1
|
|
|
|
ubuntu-18.04-s390x-tci:
|
|
allow_failure: true
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_18.04
|
|
- s390x
|
|
rules:
|
|
- if: '$CI_COMMIT_BRANCH =~ /^staging/'
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- ../configure --disable-libssh --enable-tcg-interpreter
|
|
- make --output-sync -j`nproc`
|
|
|
|
ubuntu-18.04-s390x-notcg:
|
|
allow_failure: true
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_18.04
|
|
- s390x
|
|
rules:
|
|
- if: '$CI_COMMIT_BRANCH =~ /^staging/'
|
|
when: manual
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- ../configure --disable-libssh --disable-tcg
|
|
- make --output-sync -j`nproc`
|
|
- make --output-sync -j`nproc` check V=1
|
|
|
|
# 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 18.04/20.04"
|
|
ubuntu-20.04-aarch64-all-linux-static:
|
|
allow_failure: true
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_20.04
|
|
- aarch64
|
|
rules:
|
|
- if: '$CI_COMMIT_BRANCH =~ /^staging/'
|
|
script:
|
|
# --disable-libssh is needed because of https://bugs.launchpad.net/qemu/+bug/1838763
|
|
# --disable-glusterfs is needed because there's no static version of those libs in distro supplied packages
|
|
- mkdir build
|
|
- cd build
|
|
- ../configure --enable-debug --static --disable-system --disable-glusterfs --disable-libssh
|
|
- make --output-sync -j`nproc`
|
|
- make --output-sync -j`nproc` check V=1
|
|
- make --output-sync -j`nproc` check-tcg V=1
|
|
|
|
ubuntu-20.04-aarch64-all:
|
|
allow_failure: true
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_20.04
|
|
- aarch64
|
|
rules:
|
|
- if: '$CI_COMMIT_BRANCH =~ /^staging/'
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- ../configure --disable-libssh
|
|
- make --output-sync -j`nproc`
|
|
- make --output-sync -j`nproc` check V=1
|
|
|
|
ubuntu-20.04-aarch64-alldbg:
|
|
allow_failure: true
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_20.04
|
|
- aarch64
|
|
rules:
|
|
- if: '$CI_COMMIT_BRANCH =~ /^staging/'
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- ../configure --enable-debug --disable-libssh
|
|
- make clean
|
|
- make --output-sync -j`nproc`
|
|
- make --output-sync -j`nproc` check V=1
|
|
|
|
ubuntu-20.04-aarch64-clang:
|
|
allow_failure: true
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_20.04
|
|
- aarch64
|
|
rules:
|
|
- if: '$CI_COMMIT_BRANCH =~ /^staging/'
|
|
when: manual
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- ../configure --disable-libssh --cc=clang-10 --cxx=clang++-10 --enable-sanitizers
|
|
- make --output-sync -j`nproc`
|
|
- make --output-sync -j`nproc` check V=1
|
|
|
|
ubuntu-20.04-aarch64-tci:
|
|
allow_failure: true
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_20.04
|
|
- aarch64
|
|
rules:
|
|
- if: '$CI_COMMIT_BRANCH =~ /^staging/'
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- ../configure --disable-libssh --enable-tcg-interpreter
|
|
- make --output-sync -j`nproc`
|
|
|
|
ubuntu-20.04-aarch64-notcg:
|
|
allow_failure: true
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_20.04
|
|
- aarch64
|
|
rules:
|
|
- if: '$CI_COMMIT_BRANCH =~ /^staging/'
|
|
when: manual
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- ../configure --disable-libssh --disable-tcg
|
|
- make --output-sync -j`nproc`
|
|
- make --output-sync -j`nproc` check V=1
|