mirror of
https://github.com/qemu/qemu.git
synced 2024-11-25 03:43:37 +08:00
7b7ab2d6c9
If a gitlab CI job is marked as manual-only but is not marked
as allow_failure, then gitlab considers that the pipeline is
"blocked" until the job has been manually triggered. We need
to mark these manual-only jobs as also allow_failure: true
so that gitlab doesn't insist that they have run before it
will consider the pipeline to be complete.
Fixes: 4c9af1ea14
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-id: 20210915123412.8232-1-peter.maydell@linaro.org
Acked-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
251 lines
6.6 KiB
YAML
251 lines
6.6 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:
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_18.04
|
|
- s390x
|
|
rules:
|
|
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
|
- if: "$S390X_RUNNER_AVAILABLE"
|
|
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:
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_18.04
|
|
- s390x
|
|
rules:
|
|
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
|
- if: "$S390X_RUNNER_AVAILABLE"
|
|
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:
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_18.04
|
|
- s390x
|
|
rules:
|
|
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
|
when: manual
|
|
allow_failure: true
|
|
- if: "$S390X_RUNNER_AVAILABLE"
|
|
when: manual
|
|
allow_failure: true
|
|
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:
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_18.04
|
|
- s390x
|
|
rules:
|
|
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
|
when: manual
|
|
allow_failure: true
|
|
- if: "$S390X_RUNNER_AVAILABLE"
|
|
when: manual
|
|
allow_failure: true
|
|
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:
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_18.04
|
|
- s390x
|
|
rules:
|
|
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
|
when: manual
|
|
allow_failure: true
|
|
- if: "$S390X_RUNNER_AVAILABLE"
|
|
when: manual
|
|
allow_failure: true
|
|
script:
|
|
- mkdir build
|
|
- cd build
|
|
- ../configure --disable-libssh --enable-tcg-interpreter
|
|
- make --output-sync -j`nproc`
|
|
|
|
ubuntu-18.04-s390x-notcg:
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_18.04
|
|
- s390x
|
|
rules:
|
|
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
|
when: manual
|
|
allow_failure: true
|
|
- if: "$S390X_RUNNER_AVAILABLE"
|
|
when: manual
|
|
allow_failure: true
|
|
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:
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_20.04
|
|
- aarch64
|
|
rules:
|
|
- if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/'
|
|
- if: "$AARCH64_RUNNER_AVAILABLE"
|
|
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:
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_20.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
|
|
- make --output-sync -j`nproc`
|
|
- make --output-sync -j`nproc` check V=1
|
|
|
|
ubuntu-20.04-aarch64-alldbg:
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_20.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 --disable-libssh
|
|
- make clean
|
|
- make --output-sync -j`nproc`
|
|
- make --output-sync -j`nproc` check V=1
|
|
|
|
ubuntu-20.04-aarch64-clang:
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_20.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
|
|
- make --output-sync -j`nproc`
|
|
- make --output-sync -j`nproc` check V=1
|
|
|
|
ubuntu-20.04-aarch64-tci:
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_20.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 --enable-tcg-interpreter
|
|
- make --output-sync -j`nproc`
|
|
|
|
ubuntu-20.04-aarch64-notcg:
|
|
needs: []
|
|
stage: build
|
|
tags:
|
|
- ubuntu_20.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 --disable-tcg
|
|
- make --output-sync -j`nproc`
|
|
- make --output-sync -j`nproc` check V=1
|