qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gitlab-ci: Split custom-runners.yml in one file per runner


From: Alex Bennée
Subject: Re: [PATCH] gitlab-ci: Split custom-runners.yml in one file per runner
Date: Mon, 15 Nov 2021 14:22:36 +0000
User-agent: mu4e 1.7.5; emacs 28.0.60

Philippe Mathieu-Daudé <philmd@redhat.com> writes:

> To ease maintenance, add the custom-runners/ directory and
> split custom-runners.yml in 3 files, all included by the
> current custom-runners.yml:
>  - ubuntu-18.04-s390x.yml
>  - ubuntu-20.04-aarch64.yml
>  - centos-stream-8-x86_64.yml
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Seems reasonable:

Queued to for-6.2/misc-fixes, thanks.

> ---
> Based-on: <20211111160501.862396-1-crosa@redhat.com>
> https://gitlab.com/stsquad/qemu/-/tree/for-6.2/misc-fixes
> ---
>  .gitlab-ci.d/custom-runners.yml               | 268 +-----------------
>  .../custom-runners/centos-stream-8-x86_64.yml |  28 ++
>  .../custom-runners/ubuntu-18.04-s390x.yml     | 118 ++++++++
>  .../custom-runners/ubuntu-20.04-aarch64.yml   | 118 ++++++++
>  4 files changed, 268 insertions(+), 264 deletions(-)
>  create mode 100644 .gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml
>  create mode 100644 .gitlab-ci.d/custom-runners/ubuntu-18.04-s390x.yml
>  create mode 100644 .gitlab-ci.d/custom-runners/ubuntu-20.04-aarch64.yml
>
> diff --git a/.gitlab-ci.d/custom-runners.yml b/.gitlab-ci.d/custom-runners.yml
> index 1f56297dfa1..056c374619b 100644
> --- a/.gitlab-ci.d/custom-runners.yml
> +++ b/.gitlab-ci.d/custom-runners.yml
> @@ -13,267 +13,7 @@
>  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
> -
> -centos-stream-8-x86_64:
> - allow_failure: true
> - needs: []
> - stage: build
> - tags:
> - - centos_stream_8
> - - x86_64
> - rules:
> - - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ 
> /^staging/'
> - - if: "$CENTOS_STREAM_8_x86_64_RUNNER_AVAILABLE"
> - artifacts:
> -   name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
> -   when: on_failure
> -   expire_in: 7 days
> -   paths:
> -     - build/tests/results/latest/results.xml
> -     - build/tests/results/latest/test-results
> -   reports:
> -     junit: build/tests/results/latest/results.xml
> - before_script:
> - - JOBS=$(expr $(nproc) + 1)
> - script:
> - - mkdir build
> - - cd build
> - - ../scripts/ci/org.centos/stream/8/x86_64/configure
> - - make -j"$JOBS"
> - - make NINJA=":" check
> - - ../scripts/ci/org.centos/stream/8/x86_64/test-avocado
> +include:
> +  - local: '/.gitlab-ci.d/custom-runners/ubuntu-18.04-s390x.yml'
> +  - local: '/.gitlab-ci.d/custom-runners/ubuntu-20.04-aarch64.yml'
> +  - local: '/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml'
> diff --git a/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml 
> b/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml
> new file mode 100644
> index 00000000000..49aa703f55c
> --- /dev/null
> +++ b/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml
> @@ -0,0 +1,28 @@
> +centos-stream-8-x86_64:
> + allow_failure: true
> + needs: []
> + stage: build
> + tags:
> + - centos_stream_8
> + - x86_64
> + rules:
> + - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ 
> /^staging/'
> + - if: "$CENTOS_STREAM_8_x86_64_RUNNER_AVAILABLE"
> + artifacts:
> +   name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
> +   when: on_failure
> +   expire_in: 7 days
> +   paths:
> +     - build/tests/results/latest/results.xml
> +     - build/tests/results/latest/test-results
> +   reports:
> +     junit: build/tests/results/latest/results.xml
> + before_script:
> + - JOBS=$(expr $(nproc) + 1)
> + script:
> + - mkdir build
> + - cd build
> + - ../scripts/ci/org.centos/stream/8/x86_64/configure
> + - make -j"$JOBS"
> + - make NINJA=":" check
> + - ../scripts/ci/org.centos/stream/8/x86_64/test-avocado
> diff --git a/.gitlab-ci.d/custom-runners/ubuntu-18.04-s390x.yml 
> b/.gitlab-ci.d/custom-runners/ubuntu-18.04-s390x.yml
> new file mode 100644
> index 00000000000..f39d874a1e1
> --- /dev/null
> +++ b/.gitlab-ci.d/custom-runners/ubuntu-18.04-s390x.yml
> @@ -0,0 +1,118 @@
> +# 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
> diff --git a/.gitlab-ci.d/custom-runners/ubuntu-20.04-aarch64.yml 
> b/.gitlab-ci.d/custom-runners/ubuntu-20.04-aarch64.yml
> new file mode 100644
> index 00000000000..920e388bd05
> --- /dev/null
> +++ b/.gitlab-ci.d/custom-runners/ubuntu-20.04-aarch64.yml
> @@ -0,0 +1,118 @@
> +# 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


-- 
Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]