diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8bad761b32..81433652ae 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,6 +20,7 @@ include: - '/ci/integration.yml' .native_build_job: + extends: .gitlab_native_build_job cache: paths: - ccache/ @@ -40,17 +41,8 @@ include: mv "$HOME"/rpmbuild/RPMS/x86_64/ libvirt-rpms/; fi -.native_build_job_prebuilt_env: - extends: - - .native_build_job - - .gitlab_native_build_job_prebuilt_env - -.native_build_job_local_env: - extends: - - .native_build_job - - .gitlab_native_build_job_local_env - .cross_build_job: + extends: .gitlab_cross_build_job cache: paths: - ccache/ @@ -68,21 +60,14 @@ include: fi; fi -.cross_build_job_prebuilt_env: - extends: - - .cross_build_job - - .gitlab_cross_build_job_prebuilt_env - -.cross_build_job_local_env: - extends: - - .cross_build_job - - .gitlab_cross_build_job_local_env - - # This artifact published by this job is downloaded by libvirt.org to # be deployed to the web root: # https://gitlab.com/libvirt/libvirt/-/jobs/artifacts/master/download?job=website -.website_job: +website_job: + extends: .gitlab_native_build_job + needs: + - job: x86_64-almalinux-8-container + optional: true script: - source ci/jobs.sh - run_website_build @@ -96,50 +81,21 @@ include: expire_in: 30 days paths: - website - -website_prebuilt_env: - extends: - - .website_job - - .gitlab_native_build_job_prebuilt_env - needs: - - job: x86_64-almalinux-8-container - optional: true variables: NAME: almalinux-8 - -website_local_env: - extends: - - .website_job - - .gitlab_native_build_job_local_env - variables: - IMAGE: docker.io/library/almalinux:8 - NAME: almalinux-8 - + TARGET_BASE_IMAGE: docker.io/library/almalinux:8 .codestyle_job: stage: sanity_checks - script: - - source ci/jobs.sh - - run_codestyle - -codestyle_prebuilt_env: - extends: - - .codestyle_job - - .gitlab_native_build_job_prebuilt_env needs: - job: x86_64-opensuse-leap-15-container optional: true + script: + - source ci/jobs.sh + - run_codestyle variables: NAME: opensuse-leap-15 - -codestyle_local_env: - extends: - - .codestyle_job - - .gitlab_native_build_job_local_env - variables: - IMAGE: registry.opensuse.org/opensuse/leap:15.4 - NAME: opensuse-leap-15 - + TARGET_BASE_IMAGE: registry.opensuse.org/opensuse/leap:15.5 # This artifact published by this job is downloaded to push to Weblate # for translation usage: diff --git a/ci/gitlab/build-templates.yml b/ci/gitlab/build-templates.yml index 1f533ec2dd..75d9a6f127 100644 --- a/ci/gitlab/build-templates.yml +++ b/ci/gitlab/build-templates.yml @@ -20,16 +20,25 @@ # include CI changes # - Validating code committed to a fork branch # -# Note: the rules across the prebuilt_env and local_env templates +# Note: the rules across the prebuilt and local container scenarios # should be logical inverses, such that jobs are mutually exclusive # -.gitlab_native_build_job_prebuilt_env: - image: $CI_REGISTRY/$RUN_UPSTREAM_NAMESPACE/libvirt/ci-$NAME:latest +.gitlab_native_build_job: + image: $IMAGE stage: builds interruptible: true before_script: + - if test "$IMAGE" == "$TARGET_BASE_IMAGE" ; + then + source ci/buildenv/$NAME.sh ; + install_buildenv ; + fi - cat /packages.txt + variables: + IMAGE: $CI_REGISTRY/$RUN_UPSTREAM_NAMESPACE/libvirt/ci-$NAME:latest rules: + ### Rules where we expect to use pre-built container images + # upstream: pushes to the default branch - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual @@ -63,49 +72,41 @@ - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH' when: on_success - # upstream+forks: that's all folks - - when: never -.gitlab_native_build_job_local_env: - image: $IMAGE - stage: builds - interruptible: true - before_script: - - source ci/buildenv/$NAME.sh - - install_buildenv - - cat /packages.txt - rules: - # upstream: pushes to a non-default branch - - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' - when: manual - allow_failure: true - - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH' - when: on_success - - # forks: avoid build in local env when job requests run in upstream containers - - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE_UPSTREAM_ENV' - when: never + ### Rules where we need to use the target base container image # forks: pushes to branches with pipeline requested - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE && $JOB_OPTIONAL' when: manual allow_failure: true + variables: + IMAGE: $TARGET_BASE_IMAGE - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE' when: on_success + variables: + IMAGE: $TARGET_BASE_IMAGE # upstream: other web/api/scheduled pipelines targeting non-default branches - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true + variables: + IMAGE: $TARGET_BASE_IMAGE - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH' when: on_success + variables: + IMAGE: $TARGET_BASE_IMAGE # forks: other web/api/scheduled pipelines - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $JOB_OPTIONAL' when: manual allow_failure: true + variables: + IMAGE: $TARGET_BASE_IMAGE - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/' when: on_success + variables: + IMAGE: $TARGET_BASE_IMAGE # upstream+forks: merge requests targeting the default branch, with CI changes - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' @@ -114,18 +115,28 @@ - ci/containers/$NAME.Dockerfile when: manual allow_failure: true + variables: + IMAGE: $TARGET_BASE_IMAGE - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH' changes: - ci/gitlab/container-templates.yml - ci/containers/$NAME.Dockerfile when: on_success + variables: + IMAGE: $TARGET_BASE_IMAGE # upstream+forks: merge requests targeting non-default branches - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true + variables: + IMAGE: $TARGET_BASE_IMAGE - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH' when: on_success + variables: + IMAGE: $TARGET_BASE_IMAGE + + ### Neither prebuilt or local container images # upstream+forks: that's all folks - when: never @@ -146,16 +157,25 @@ # include CI changes # - Validating code committed to a fork branch # -# Note: the rules across the prebuilt_env and local_env templates +# Note: the rules across the prebuilt and local container scenarios # should be logical inverses, such that jobs are mutually exclusive # -.gitlab_cross_build_job_prebuilt_env: - image: $CI_REGISTRY/$RUN_UPSTREAM_NAMESPACE/libvirt/ci-$NAME-cross-$CROSS:latest +.gitlab_cross_build_job: + image: $IMAGE stage: builds interruptible: true before_script: + - if test "$IMAGE" == "$TARGET_BASE_IMAGE" ; + then + source ci/buildenv/$NAME-cross-$CROSS.sh ; + install_buildenv ; + fi - cat /packages.txt + variables: + IMAGE: $CI_REGISTRY/$RUN_UPSTREAM_NAMESPACE/libvirt/ci-$NAME-cross-$CROSS:latest rules: + ### Rules where we expect to use pre-built container images + # upstream: pushes to the default branch - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual @@ -189,49 +209,41 @@ - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH' when: on_success - # upstream+forks: that's all folks - - when: never -.gitlab_cross_build_job_local_env: - image: $IMAGE - stage: builds - interruptible: true - before_script: - - source ci/buildenv/$NAME-cross-$CROSS.sh - - install_buildenv - - cat /packages.txt - rules: - # upstream: pushes to a non-default branch - - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' - when: manual - allow_failure: true - - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH' - when: on_success - - # forks: avoid build in local env when job requests run in upstream containers - - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE_UPSTREAM_ENV' - when: never + ### Rules where we need to use the target base container image # forks: pushes to branches with pipeline requested - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE && $JOB_OPTIONAL' when: manual allow_failure: true + variables: + IMAGE: $TARGET_BASE_IMAGE - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE' when: on_success + variables: + IMAGE: $TARGET_BASE_IMAGE # upstream: other web/api/scheduled pipelines targeting non-default branches - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true + variables: + IMAGE: $TARGET_BASE_IMAGE - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH' when: on_success + variables: + IMAGE: $TARGET_BASE_IMAGE # forks: other web/api/scheduled pipelines - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $JOB_OPTIONAL' when: manual allow_failure: true + variables: + IMAGE: $TARGET_BASE_IMAGE - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/' when: on_success + variables: + IMAGE: $TARGET_BASE_IMAGE # upstream+forks: merge requests targeting the default branch, with CI changes - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' @@ -240,18 +252,28 @@ - ci/containers/$NAME-cross-$CROSS.Dockerfile when: manual allow_failure: true + variables: + IMAGE: $TARGET_BASE_IMAGE - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH' changes: - ci/gitlab/container-templates.yml - ci/containers/$NAME-cross-$CROSS.Dockerfile when: on_success + variables: + IMAGE: $TARGET_BASE_IMAGE # upstream+forks: merge requests targeting non-default branches - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL' when: manual allow_failure: true + variables: + IMAGE: $TARGET_BASE_IMAGE - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH' when: on_success + variables: + IMAGE: $TARGET_BASE_IMAGE + + ### Neither prebuilt or local container images # upstream+forks: that's all folks - when: never diff --git a/ci/gitlab/builds.yml b/ci/gitlab/builds.yml index 434e272e5a..49a0b27029 100644 --- a/ci/gitlab/builds.yml +++ b/ci/gitlab/builds.yml @@ -7,8 +7,8 @@ # Native build jobs -x86_64-almalinux-8-prebuilt-env: - extends: .native_build_job_prebuilt_env +x86_64-almalinux-8: + extends: .native_build_job needs: - job: x86_64-almalinux-8-container optional: true @@ -17,20 +17,11 @@ x86_64-almalinux-8-prebuilt-env: JOB_OPTIONAL: 1 NAME: almalinux-8 RPM: skip - -x86_64-almalinux-8-local-env: - extends: .native_build_job_local_env - needs: [] - allow_failure: false - variables: - IMAGE: docker.io/library/almalinux:8 - JOB_OPTIONAL: 1 - NAME: almalinux-8 - RPM: skip + TARGET_BASE_IMAGE: docker.io/library/almalinux:8 -x86_64-almalinux-8-clang-prebuilt-env: - extends: .native_build_job_prebuilt_env +x86_64-almalinux-8-clang: + extends: .native_build_job needs: - job: x86_64-almalinux-8-container optional: true @@ -39,108 +30,63 @@ x86_64-almalinux-8-clang-prebuilt-env: CC: clang NAME: almalinux-8 RPM: skip - -x86_64-almalinux-8-clang-local-env: - extends: .native_build_job_local_env - needs: [] - allow_failure: false - variables: - CC: clang - IMAGE: docker.io/library/almalinux:8 - NAME: almalinux-8 - RPM: skip + TARGET_BASE_IMAGE: docker.io/library/almalinux:8 -x86_64-alpine-319-prebuilt-env: - extends: .native_build_job_prebuilt_env +x86_64-alpine-319: + extends: .native_build_job needs: - job: x86_64-alpine-319-container optional: true allow_failure: false variables: NAME: alpine-319 - -x86_64-alpine-319-local-env: - extends: .native_build_job_local_env - needs: [] - allow_failure: false - variables: - IMAGE: docker.io/library/alpine:3.19 - NAME: alpine-319 + TARGET_BASE_IMAGE: docker.io/library/alpine:3.19 -x86_64-alpine-edge-prebuilt-env: - extends: .native_build_job_prebuilt_env +x86_64-alpine-edge: + extends: .native_build_job needs: - job: x86_64-alpine-edge-container optional: true allow_failure: true variables: NAME: alpine-edge - -x86_64-alpine-edge-local-env: - extends: .native_build_job_local_env - needs: [] - allow_failure: true - variables: - IMAGE: docker.io/library/alpine:edge - NAME: alpine-edge + TARGET_BASE_IMAGE: docker.io/library/alpine:edge -x86_64-centos-stream-8-prebuilt-env: - extends: .native_build_job_prebuilt_env +x86_64-centos-stream-8: + extends: .native_build_job needs: - job: x86_64-centos-stream-8-container optional: true allow_failure: false variables: NAME: centos-stream-8 - artifacts: - expire_in: 1 day - paths: - - libvirt-rpms - -x86_64-centos-stream-8-local-env: - extends: .native_build_job_local_env - needs: [] - allow_failure: false - variables: - IMAGE: quay.io/centos/centos:stream8 - NAME: centos-stream-8 + TARGET_BASE_IMAGE: quay.io/centos/centos:stream8 artifacts: expire_in: 1 day paths: - libvirt-rpms -x86_64-centos-stream-9-prebuilt-env: - extends: .native_build_job_prebuilt_env +x86_64-centos-stream-9: + extends: .native_build_job needs: - job: x86_64-centos-stream-9-container optional: true allow_failure: false variables: NAME: centos-stream-9 - artifacts: - expire_in: 1 day - paths: - - libvirt-rpms - -x86_64-centos-stream-9-local-env: - extends: .native_build_job_local_env - needs: [] - allow_failure: false - variables: - IMAGE: quay.io/centos/centos:stream9 - NAME: centos-stream-9 + TARGET_BASE_IMAGE: quay.io/centos/centos:stream9 artifacts: expire_in: 1 day paths: - libvirt-rpms -x86_64-debian-11-prebuilt-env: - extends: .native_build_job_prebuilt_env +x86_64-debian-11: + extends: .native_build_job needs: - job: x86_64-debian-11-container optional: true @@ -148,19 +94,11 @@ x86_64-debian-11-prebuilt-env: variables: JOB_OPTIONAL: 1 NAME: debian-11 - -x86_64-debian-11-local-env: - extends: .native_build_job_local_env - needs: [] - allow_failure: false - variables: - IMAGE: docker.io/library/debian:11-slim - JOB_OPTIONAL: 1 - NAME: debian-11 + TARGET_BASE_IMAGE: docker.io/library/debian:11-slim -x86_64-debian-11-clang-prebuilt-env: - extends: .native_build_job_prebuilt_env +x86_64-debian-11-clang: + extends: .native_build_job needs: - job: x86_64-debian-11-container optional: true @@ -168,143 +106,85 @@ x86_64-debian-11-clang-prebuilt-env: variables: JOB_OPTIONAL: 1 NAME: debian-11 - -x86_64-debian-11-clang-local-env: - extends: .native_build_job_local_env - needs: [] - allow_failure: false - variables: - IMAGE: docker.io/library/debian:11-slim - JOB_OPTIONAL: 1 - NAME: debian-11 + TARGET_BASE_IMAGE: docker.io/library/debian:11-slim -x86_64-debian-12-prebuilt-env: - extends: .native_build_job_prebuilt_env +x86_64-debian-12: + extends: .native_build_job needs: - job: x86_64-debian-12-container optional: true allow_failure: false variables: NAME: debian-12 - -x86_64-debian-12-local-env: - extends: .native_build_job_local_env - needs: [] - allow_failure: false - variables: - IMAGE: docker.io/library/debian:12-slim - NAME: debian-12 + TARGET_BASE_IMAGE: docker.io/library/debian:12-slim -x86_64-debian-12-clang-prebuilt-env: - extends: .native_build_job_prebuilt_env +x86_64-debian-12-clang: + extends: .native_build_job needs: - job: x86_64-debian-12-container optional: true allow_failure: false variables: NAME: debian-12 - -x86_64-debian-12-clang-local-env: - extends: .native_build_job_local_env - needs: [] - allow_failure: false - variables: - IMAGE: docker.io/library/debian:12-slim - NAME: debian-12 + TARGET_BASE_IMAGE: docker.io/library/debian:12-slim -x86_64-debian-sid-prebuilt-env: - extends: .native_build_job_prebuilt_env +x86_64-debian-sid: + extends: .native_build_job needs: - job: x86_64-debian-sid-container optional: true allow_failure: true variables: NAME: debian-sid - -x86_64-debian-sid-local-env: - extends: .native_build_job_local_env - needs: [] - allow_failure: true - variables: - IMAGE: docker.io/library/debian:sid-slim - NAME: debian-sid + TARGET_BASE_IMAGE: docker.io/library/debian:sid-slim -x86_64-fedora-38-prebuilt-env: - extends: .native_build_job_prebuilt_env +x86_64-fedora-38: + extends: .native_build_job needs: - job: x86_64-fedora-38-container optional: true allow_failure: false variables: NAME: fedora-38 - artifacts: - expire_in: 1 day - paths: - - libvirt-rpms - -x86_64-fedora-38-local-env: - extends: .native_build_job_local_env - needs: [] - allow_failure: false - variables: - IMAGE: registry.fedoraproject.org/fedora:38 - NAME: fedora-38 + TARGET_BASE_IMAGE: registry.fedoraproject.org/fedora:38 artifacts: expire_in: 1 day paths: - libvirt-rpms -x86_64-fedora-39-prebuilt-env: - extends: .native_build_job_prebuilt_env +x86_64-fedora-39: + extends: .native_build_job needs: - job: x86_64-fedora-39-container optional: true allow_failure: false variables: NAME: fedora-39 - artifacts: - expire_in: 1 day - paths: - - libvirt-rpms - -x86_64-fedora-39-local-env: - extends: .native_build_job_local_env - needs: [] - allow_failure: false - variables: - IMAGE: registry.fedoraproject.org/fedora:39 - NAME: fedora-39 + TARGET_BASE_IMAGE: registry.fedoraproject.org/fedora:39 artifacts: expire_in: 1 day paths: - libvirt-rpms -x86_64-fedora-rawhide-prebuilt-env: - extends: .native_build_job_prebuilt_env +x86_64-fedora-rawhide: + extends: .native_build_job needs: - job: x86_64-fedora-rawhide-container optional: true allow_failure: true variables: NAME: fedora-rawhide - -x86_64-fedora-rawhide-local-env: - extends: .native_build_job_local_env - needs: [] - allow_failure: true - variables: - IMAGE: registry.fedoraproject.org/fedora:rawhide - NAME: fedora-rawhide + TARGET_BASE_IMAGE: registry.fedoraproject.org/fedora:rawhide -x86_64-fedora-rawhide-clang-prebuilt-env: - extends: .native_build_job_prebuilt_env +x86_64-fedora-rawhide-clang: + extends: .native_build_job needs: - job: x86_64-fedora-rawhide-container optional: true @@ -313,20 +193,11 @@ x86_64-fedora-rawhide-clang-prebuilt-env: CC: clang NAME: fedora-rawhide RPM: skip - -x86_64-fedora-rawhide-clang-local-env: - extends: .native_build_job_local_env - needs: [] - allow_failure: true - variables: - CC: clang - IMAGE: registry.fedoraproject.org/fedora:rawhide - NAME: fedora-rawhide - RPM: skip + TARGET_BASE_IMAGE: registry.fedoraproject.org/fedora:rawhide -x86_64-opensuse-leap-15-prebuilt-env: - extends: .native_build_job_prebuilt_env +x86_64-opensuse-leap-15: + extends: .native_build_job needs: - job: x86_64-opensuse-leap-15-container optional: true @@ -335,20 +206,11 @@ x86_64-opensuse-leap-15-prebuilt-env: CFLAGS: -Wno-missing-include-dirs NAME: opensuse-leap-15 RPM: skip - -x86_64-opensuse-leap-15-local-env: - extends: .native_build_job_local_env - needs: [] - allow_failure: false - variables: - CFLAGS: -Wno-missing-include-dirs - IMAGE: registry.opensuse.org/opensuse/leap:15.5 - NAME: opensuse-leap-15 - RPM: skip + TARGET_BASE_IMAGE: registry.opensuse.org/opensuse/leap:15.5 -x86_64-opensuse-tumbleweed-prebuilt-env: - extends: .native_build_job_prebuilt_env +x86_64-opensuse-tumbleweed: + extends: .native_build_job needs: - job: x86_64-opensuse-tumbleweed-container optional: true @@ -356,19 +218,11 @@ x86_64-opensuse-tumbleweed-prebuilt-env: variables: NAME: opensuse-tumbleweed RPM: skip - -x86_64-opensuse-tumbleweed-local-env: - extends: .native_build_job_local_env - needs: [] - allow_failure: true - variables: - IMAGE: registry.opensuse.org/opensuse/tumbleweed:latest - NAME: opensuse-tumbleweed - RPM: skip + TARGET_BASE_IMAGE: registry.opensuse.org/opensuse/tumbleweed:latest -x86_64-ubuntu-2004-prebuilt-env: - extends: .native_build_job_prebuilt_env +x86_64-ubuntu-2004: + extends: .native_build_job needs: - job: x86_64-ubuntu-2004-container optional: true @@ -377,22 +231,12 @@ x86_64-ubuntu-2004-prebuilt-env: ASAN_OPTIONS: verify_asan_link_order=0 MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined NAME: ubuntu-2004 - UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1 - -x86_64-ubuntu-2004-local-env: - extends: .native_build_job_local_env - needs: [] - allow_failure: false - variables: - ASAN_OPTIONS: verify_asan_link_order=0 - IMAGE: docker.io/library/ubuntu:20.04 - MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined - NAME: ubuntu-2004 + TARGET_BASE_IMAGE: docker.io/library/ubuntu:20.04 UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1 -x86_64-ubuntu-2204-prebuilt-env: - extends: .native_build_job_prebuilt_env +x86_64-ubuntu-2204: + extends: .native_build_job needs: - job: x86_64-ubuntu-2204-container optional: true @@ -400,19 +244,11 @@ x86_64-ubuntu-2204-prebuilt-env: variables: JOB_OPTIONAL: 1 NAME: ubuntu-2204 - -x86_64-ubuntu-2204-local-env: - extends: .native_build_job_local_env - needs: [] - allow_failure: false - variables: - IMAGE: docker.io/library/ubuntu:22.04 - JOB_OPTIONAL: 1 - NAME: ubuntu-2204 + TARGET_BASE_IMAGE: docker.io/library/ubuntu:22.04 -x86_64-ubuntu-2204-clang-prebuilt-env: - extends: .native_build_job_prebuilt_env +x86_64-ubuntu-2204-clang: + extends: .native_build_job needs: - job: x86_64-ubuntu-2204-container optional: true @@ -421,25 +257,15 @@ x86_64-ubuntu-2204-clang-prebuilt-env: CC: clang MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined NAME: ubuntu-2204 - UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1 - -x86_64-ubuntu-2204-clang-local-env: - extends: .native_build_job_local_env - needs: [] - allow_failure: false - variables: - CC: clang - IMAGE: docker.io/library/ubuntu:22.04 - MESON_ARGS: -Db_lundef=false -Db_sanitize=address,undefined - NAME: ubuntu-2204 + TARGET_BASE_IMAGE: docker.io/library/ubuntu:22.04 UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1 # Cross build jobs -aarch64-debian-11-prebuilt-env: - extends: .cross_build_job_prebuilt_env +aarch64-debian-11: + extends: .cross_build_job needs: - job: aarch64-debian-11-container optional: true @@ -448,20 +274,11 @@ aarch64-debian-11-prebuilt-env: CROSS: aarch64 JOB_OPTIONAL: 1 NAME: debian-11 - -aarch64-debian-11-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: aarch64 - IMAGE: docker.io/library/debian:11-slim - JOB_OPTIONAL: 1 - NAME: debian-11 + TARGET_BASE_IMAGE: docker.io/library/debian:11-slim -armv6l-debian-11-prebuilt-env: - extends: .cross_build_job_prebuilt_env +armv6l-debian-11: + extends: .cross_build_job needs: - job: armv6l-debian-11-container optional: true @@ -470,20 +287,11 @@ armv6l-debian-11-prebuilt-env: CROSS: armv6l JOB_OPTIONAL: 1 NAME: debian-11 - -armv6l-debian-11-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: armv6l - IMAGE: docker.io/library/debian:11-slim - JOB_OPTIONAL: 1 - NAME: debian-11 + TARGET_BASE_IMAGE: docker.io/library/debian:11-slim -armv7l-debian-11-prebuilt-env: - extends: .cross_build_job_prebuilt_env +armv7l-debian-11: + extends: .cross_build_job needs: - job: armv7l-debian-11-container optional: true @@ -492,20 +300,11 @@ armv7l-debian-11-prebuilt-env: CROSS: armv7l JOB_OPTIONAL: 1 NAME: debian-11 - -armv7l-debian-11-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: armv7l - IMAGE: docker.io/library/debian:11-slim - JOB_OPTIONAL: 1 - NAME: debian-11 + TARGET_BASE_IMAGE: docker.io/library/debian:11-slim -i686-debian-11-prebuilt-env: - extends: .cross_build_job_prebuilt_env +i686-debian-11: + extends: .cross_build_job needs: - job: i686-debian-11-container optional: true @@ -514,20 +313,11 @@ i686-debian-11-prebuilt-env: CROSS: i686 JOB_OPTIONAL: 1 NAME: debian-11 - -i686-debian-11-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: i686 - IMAGE: docker.io/library/debian:11-slim - JOB_OPTIONAL: 1 - NAME: debian-11 + TARGET_BASE_IMAGE: docker.io/library/debian:11-slim -mips64el-debian-11-prebuilt-env: - extends: .cross_build_job_prebuilt_env +mips64el-debian-11: + extends: .cross_build_job needs: - job: mips64el-debian-11-container optional: true @@ -536,20 +326,11 @@ mips64el-debian-11-prebuilt-env: CROSS: mips64el JOB_OPTIONAL: 1 NAME: debian-11 - -mips64el-debian-11-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: mips64el - IMAGE: docker.io/library/debian:11-slim - JOB_OPTIONAL: 1 - NAME: debian-11 + TARGET_BASE_IMAGE: docker.io/library/debian:11-slim -mipsel-debian-11-prebuilt-env: - extends: .cross_build_job_prebuilt_env +mipsel-debian-11: + extends: .cross_build_job needs: - job: mipsel-debian-11-container optional: true @@ -558,20 +339,11 @@ mipsel-debian-11-prebuilt-env: CROSS: mipsel JOB_OPTIONAL: 1 NAME: debian-11 - -mipsel-debian-11-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: mipsel - IMAGE: docker.io/library/debian:11-slim - JOB_OPTIONAL: 1 - NAME: debian-11 + TARGET_BASE_IMAGE: docker.io/library/debian:11-slim -ppc64le-debian-11-prebuilt-env: - extends: .cross_build_job_prebuilt_env +ppc64le-debian-11: + extends: .cross_build_job needs: - job: ppc64le-debian-11-container optional: true @@ -580,20 +352,11 @@ ppc64le-debian-11-prebuilt-env: CROSS: ppc64le JOB_OPTIONAL: 1 NAME: debian-11 - -ppc64le-debian-11-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: ppc64le - IMAGE: docker.io/library/debian:11-slim - JOB_OPTIONAL: 1 - NAME: debian-11 + TARGET_BASE_IMAGE: docker.io/library/debian:11-slim -s390x-debian-11-prebuilt-env: - extends: .cross_build_job_prebuilt_env +s390x-debian-11: + extends: .cross_build_job needs: - job: s390x-debian-11-container optional: true @@ -602,20 +365,11 @@ s390x-debian-11-prebuilt-env: CROSS: s390x JOB_OPTIONAL: 1 NAME: debian-11 - -s390x-debian-11-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: s390x - IMAGE: docker.io/library/debian:11-slim - JOB_OPTIONAL: 1 - NAME: debian-11 + TARGET_BASE_IMAGE: docker.io/library/debian:11-slim -aarch64-debian-12-prebuilt-env: - extends: .cross_build_job_prebuilt_env +aarch64-debian-12: + extends: .cross_build_job needs: - job: aarch64-debian-12-container optional: true @@ -624,20 +378,11 @@ aarch64-debian-12-prebuilt-env: CROSS: aarch64 JOB_OPTIONAL: 1 NAME: debian-12 - -aarch64-debian-12-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: aarch64 - IMAGE: docker.io/library/debian:12-slim - JOB_OPTIONAL: 1 - NAME: debian-12 + TARGET_BASE_IMAGE: docker.io/library/debian:12-slim -armv6l-debian-12-prebuilt-env: - extends: .cross_build_job_prebuilt_env +armv6l-debian-12: + extends: .cross_build_job needs: - job: armv6l-debian-12-container optional: true @@ -646,20 +391,11 @@ armv6l-debian-12-prebuilt-env: CROSS: armv6l JOB_OPTIONAL: 1 NAME: debian-12 - -armv6l-debian-12-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: armv6l - IMAGE: docker.io/library/debian:12-slim - JOB_OPTIONAL: 1 - NAME: debian-12 + TARGET_BASE_IMAGE: docker.io/library/debian:12-slim -armv7l-debian-12-prebuilt-env: - extends: .cross_build_job_prebuilt_env +armv7l-debian-12: + extends: .cross_build_job needs: - job: armv7l-debian-12-container optional: true @@ -667,19 +403,11 @@ armv7l-debian-12-prebuilt-env: variables: CROSS: armv7l NAME: debian-12 - -armv7l-debian-12-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: armv7l - IMAGE: docker.io/library/debian:12-slim - NAME: debian-12 + TARGET_BASE_IMAGE: docker.io/library/debian:12-slim -i686-debian-12-prebuilt-env: - extends: .cross_build_job_prebuilt_env +i686-debian-12: + extends: .cross_build_job needs: - job: i686-debian-12-container optional: true @@ -688,20 +416,11 @@ i686-debian-12-prebuilt-env: CROSS: i686 JOB_OPTIONAL: 1 NAME: debian-12 - -i686-debian-12-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: i686 - IMAGE: docker.io/library/debian:12-slim - JOB_OPTIONAL: 1 - NAME: debian-12 + TARGET_BASE_IMAGE: docker.io/library/debian:12-slim -mips64el-debian-12-prebuilt-env: - extends: .cross_build_job_prebuilt_env +mips64el-debian-12: + extends: .cross_build_job needs: - job: mips64el-debian-12-container optional: true @@ -710,20 +429,11 @@ mips64el-debian-12-prebuilt-env: CROSS: mips64el JOB_OPTIONAL: 1 NAME: debian-12 - -mips64el-debian-12-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: mips64el - IMAGE: docker.io/library/debian:12-slim - JOB_OPTIONAL: 1 - NAME: debian-12 + TARGET_BASE_IMAGE: docker.io/library/debian:12-slim -mipsel-debian-12-prebuilt-env: - extends: .cross_build_job_prebuilt_env +mipsel-debian-12: + extends: .cross_build_job needs: - job: mipsel-debian-12-container optional: true @@ -732,20 +442,11 @@ mipsel-debian-12-prebuilt-env: CROSS: mipsel JOB_OPTIONAL: 1 NAME: debian-12 - -mipsel-debian-12-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: mipsel - IMAGE: docker.io/library/debian:12-slim - JOB_OPTIONAL: 1 - NAME: debian-12 + TARGET_BASE_IMAGE: docker.io/library/debian:12-slim -ppc64le-debian-12-prebuilt-env: - extends: .cross_build_job_prebuilt_env +ppc64le-debian-12: + extends: .cross_build_job needs: - job: ppc64le-debian-12-container optional: true @@ -754,20 +455,11 @@ ppc64le-debian-12-prebuilt-env: CROSS: ppc64le JOB_OPTIONAL: 1 NAME: debian-12 - -ppc64le-debian-12-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: ppc64le - IMAGE: docker.io/library/debian:12-slim - JOB_OPTIONAL: 1 - NAME: debian-12 + TARGET_BASE_IMAGE: docker.io/library/debian:12-slim -s390x-debian-12-prebuilt-env: - extends: .cross_build_job_prebuilt_env +s390x-debian-12: + extends: .cross_build_job needs: - job: s390x-debian-12-container optional: true @@ -776,20 +468,11 @@ s390x-debian-12-prebuilt-env: CROSS: s390x JOB_OPTIONAL: 1 NAME: debian-12 - -s390x-debian-12-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: s390x - IMAGE: docker.io/library/debian:12-slim - JOB_OPTIONAL: 1 - NAME: debian-12 + TARGET_BASE_IMAGE: docker.io/library/debian:12-slim -aarch64-debian-sid-prebuilt-env: - extends: .cross_build_job_prebuilt_env +aarch64-debian-sid: + extends: .cross_build_job needs: - job: aarch64-debian-sid-container optional: true @@ -798,20 +481,11 @@ aarch64-debian-sid-prebuilt-env: CROSS: aarch64 JOB_OPTIONAL: 1 NAME: debian-sid - -aarch64-debian-sid-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: aarch64 - IMAGE: docker.io/library/debian:sid-slim - JOB_OPTIONAL: 1 - NAME: debian-sid + TARGET_BASE_IMAGE: docker.io/library/debian:sid-slim -armv6l-debian-sid-prebuilt-env: - extends: .cross_build_job_prebuilt_env +armv6l-debian-sid: + extends: .cross_build_job needs: - job: armv6l-debian-sid-container optional: true @@ -820,20 +494,11 @@ armv6l-debian-sid-prebuilt-env: CROSS: armv6l JOB_OPTIONAL: 1 NAME: debian-sid - -armv6l-debian-sid-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: armv6l - IMAGE: docker.io/library/debian:sid-slim - JOB_OPTIONAL: 1 - NAME: debian-sid + TARGET_BASE_IMAGE: docker.io/library/debian:sid-slim -armv7l-debian-sid-prebuilt-env: - extends: .cross_build_job_prebuilt_env +armv7l-debian-sid: + extends: .cross_build_job needs: - job: armv7l-debian-sid-container optional: true @@ -842,20 +507,11 @@ armv7l-debian-sid-prebuilt-env: CROSS: armv7l JOB_OPTIONAL: 1 NAME: debian-sid - -armv7l-debian-sid-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: armv7l - IMAGE: docker.io/library/debian:sid-slim - JOB_OPTIONAL: 1 - NAME: debian-sid + TARGET_BASE_IMAGE: docker.io/library/debian:sid-slim -i686-debian-sid-prebuilt-env: - extends: .cross_build_job_prebuilt_env +i686-debian-sid: + extends: .cross_build_job needs: - job: i686-debian-sid-container optional: true @@ -864,20 +520,11 @@ i686-debian-sid-prebuilt-env: CROSS: i686 JOB_OPTIONAL: 1 NAME: debian-sid - -i686-debian-sid-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: i686 - IMAGE: docker.io/library/debian:sid-slim - JOB_OPTIONAL: 1 - NAME: debian-sid + TARGET_BASE_IMAGE: docker.io/library/debian:sid-slim -mips64el-debian-sid-prebuilt-env: - extends: .cross_build_job_prebuilt_env +mips64el-debian-sid: + extends: .cross_build_job needs: - job: mips64el-debian-sid-container optional: true @@ -886,20 +533,11 @@ mips64el-debian-sid-prebuilt-env: CROSS: mips64el JOB_OPTIONAL: 1 NAME: debian-sid - -mips64el-debian-sid-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: mips64el - IMAGE: docker.io/library/debian:sid-slim - JOB_OPTIONAL: 1 - NAME: debian-sid + TARGET_BASE_IMAGE: docker.io/library/debian:sid-slim -ppc64le-debian-sid-prebuilt-env: - extends: .cross_build_job_prebuilt_env +ppc64le-debian-sid: + extends: .cross_build_job needs: - job: ppc64le-debian-sid-container optional: true @@ -908,20 +546,11 @@ ppc64le-debian-sid-prebuilt-env: CROSS: ppc64le JOB_OPTIONAL: 1 NAME: debian-sid - -ppc64le-debian-sid-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: ppc64le - IMAGE: docker.io/library/debian:sid-slim - JOB_OPTIONAL: 1 - NAME: debian-sid + TARGET_BASE_IMAGE: docker.io/library/debian:sid-slim -s390x-debian-sid-prebuilt-env: - extends: .cross_build_job_prebuilt_env +s390x-debian-sid: + extends: .cross_build_job needs: - job: s390x-debian-sid-container optional: true @@ -930,20 +559,11 @@ s390x-debian-sid-prebuilt-env: CROSS: s390x JOB_OPTIONAL: 1 NAME: debian-sid - -s390x-debian-sid-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: s390x - IMAGE: docker.io/library/debian:sid-slim - JOB_OPTIONAL: 1 - NAME: debian-sid + TARGET_BASE_IMAGE: docker.io/library/debian:sid-slim -mingw32-fedora-38-prebuilt-env: - extends: .cross_build_job_prebuilt_env +mingw32-fedora-38: + extends: .cross_build_job needs: - job: mingw32-fedora-38-container optional: true @@ -952,20 +572,11 @@ mingw32-fedora-38-prebuilt-env: CROSS: mingw32 JOB_OPTIONAL: 1 NAME: fedora-38 - -mingw32-fedora-38-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: mingw32 - IMAGE: registry.fedoraproject.org/fedora:38 - JOB_OPTIONAL: 1 - NAME: fedora-38 + TARGET_BASE_IMAGE: registry.fedoraproject.org/fedora:38 -mingw64-fedora-38-prebuilt-env: - extends: .cross_build_job_prebuilt_env +mingw64-fedora-38: + extends: .cross_build_job needs: - job: mingw64-fedora-38-container optional: true @@ -973,19 +584,11 @@ mingw64-fedora-38-prebuilt-env: variables: CROSS: mingw64 NAME: fedora-38 - -mingw64-fedora-38-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: false - variables: - CROSS: mingw64 - IMAGE: registry.fedoraproject.org/fedora:38 - NAME: fedora-38 + TARGET_BASE_IMAGE: registry.fedoraproject.org/fedora:38 -mingw32-fedora-rawhide-prebuilt-env: - extends: .cross_build_job_prebuilt_env +mingw32-fedora-rawhide: + extends: .cross_build_job needs: - job: mingw32-fedora-rawhide-container optional: true @@ -993,19 +596,11 @@ mingw32-fedora-rawhide-prebuilt-env: variables: CROSS: mingw32 NAME: fedora-rawhide - -mingw32-fedora-rawhide-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: true - variables: - CROSS: mingw32 - IMAGE: registry.fedoraproject.org/fedora:rawhide - NAME: fedora-rawhide + TARGET_BASE_IMAGE: registry.fedoraproject.org/fedora:rawhide -mingw64-fedora-rawhide-prebuilt-env: - extends: .cross_build_job_prebuilt_env +mingw64-fedora-rawhide: + extends: .cross_build_job needs: - job: mingw64-fedora-rawhide-container optional: true @@ -1014,16 +609,7 @@ mingw64-fedora-rawhide-prebuilt-env: CROSS: mingw64 JOB_OPTIONAL: 1 NAME: fedora-rawhide - -mingw64-fedora-rawhide-local-env: - extends: .cross_build_job_local_env - needs: [] - allow_failure: true - variables: - CROSS: mingw64 - IMAGE: registry.fedoraproject.org/fedora:rawhide - JOB_OPTIONAL: 1 - NAME: fedora-rawhide + TARGET_BASE_IMAGE: registry.fedoraproject.org/fedora:rawhide # Native cirrus build jobs diff --git a/ci/integration-template.yml b/ci/integration-template.yml index 166445527c..ded57cfaaf 100644 --- a/ci/integration-template.yml +++ b/ci/integration-template.yml @@ -47,6 +47,10 @@ .integration_tests: stage: integration_tests + rules: + - if: '$LIBVIRT_CI_INTEGRATION == null' + when: never + - !reference [.gitlab_native_build_job, rules] before_script: - mkdir "$SCRATCH_DIR" - sudo dnf install -y libvirt-rpms/* libvirt-perl-rpms/* libvirt-python-rpms/* @@ -65,35 +69,13 @@ - logs when: on_failure -.integration_tests_prebuilt_env: - extends: .integration_tests - rules: - - if: '$LIBVIRT_CI_INTEGRATION == null' - when: never - - !reference [.gitlab_native_build_job_prebuilt_env, rules] - -.integration_tests_local_env: - extends: .integration_tests - rules: - - if: '$LIBVIRT_CI_INTEGRATION == null' - when: never - - !reference [.gitlab_native_build_job_local_env, rules] - # YAML anchors don't work with Shell conditions so we can't use a variable # to conditionally build+install QEMU from source. # Instead, create a new test job template for this scenario. .integration_tests_upstream_qemu: + extends: + - .integration_tests before_script: - !reference [.integration_tests, before_script] - *qemu-build-template - -.integration_tests_upstream_qemu_prebuilt_env: - extends: - - .integration_tests_prebuilt_env - - .integration_tests_upstream_qemu - -.integration_tests_upstream_qemu_local_env: - extends: - - .integration_tests_local_env - - .integration_tests_upstream_qemu diff --git a/ci/integration.yml b/ci/integration.yml index 1614aa56d6..f754c59962 100644 --- a/ci/integration.yml +++ b/ci/integration.yml @@ -5,7 +5,8 @@ include: # and libvirt-python CI jobs, so the new target needs to be introduced # there before it can be used here. The VM template for the target # also needs to be created on the runner host. -.centos-stream-8-tests: +centos-stream-8-tests: + extends: .integration_tests variables: # needed by libvirt-gitlab-executor DISTRO: centos-stream-8 @@ -13,43 +14,23 @@ include: LIBVIRT_CI_INTEGRATION_RUNNER_TAG: redhat-vm-host tags: - $LIBVIRT_CI_INTEGRATION_RUNNER_TAG - -centos-stream-8-tests-prebuilt-env: - extends: - - .integration_tests_prebuilt_env - - .centos-stream-8-tests needs: - - x86_64-centos-stream-8-prebuilt-env + - x86_64-centos-stream-8 - project: libvirt/libvirt-perl - job: x86_64-centos-stream-8-prebuilt-env + job: x86_64-centos-stream-8 ref: master artifacts: true - project: libvirt/libvirt-python - job: x86_64-centos-stream-8-prebuilt-env + job: x86_64-centos-stream-8 ref: master artifacts: true -centos-stream-8-tests-local-env: - extends: - - .integration_tests_local_env - - .centos-stream-8-tests - needs: - - x86_64-centos-stream-8-local-env - - project: libvirt/libvirt-perl - job: x86_64-centos-stream-8-prebuilt-env - ref: master - artifacts: true - - project: libvirt/libvirt-python - job: x86_64-centos-stream-8-prebuilt-env - ref: master - artifacts: true - - # NOTE The integration tests use artifacts produced by the libvirt-perl # and libvirt-python CI jobs, so the new target needs to be introduced # there before it can be used here. The VM template for the target # also needs to be created on the runner host. -.centos-stream-9-tests: +centos-stream-9-tests: + extends: .integration_tests variables: # needed by libvirt-gitlab-executor DISTRO: centos-stream-9 @@ -57,43 +38,23 @@ centos-stream-8-tests-local-env: LIBVIRT_CI_INTEGRATION_RUNNER_TAG: redhat-vm-host tags: - $LIBVIRT_CI_INTEGRATION_RUNNER_TAG - -centos-stream-9-tests-prebuilt-env: - extends: - - .integration_tests_prebuilt_env - - .centos-stream-9-tests needs: - - x86_64-centos-stream-9-prebuilt-env + - x86_64-centos-stream-9 - project: libvirt/libvirt-perl - job: x86_64-centos-stream-9-prebuilt-env + job: x86_64-centos-stream-9 ref: master artifacts: true - project: libvirt/libvirt-python - job: x86_64-centos-stream-9-prebuilt-env + job: x86_64-centos-stream-9 ref: master artifacts: true -centos-stream-9-tests-local-env: - extends: - - .integration_tests_local_env - - .centos-stream-9-tests - needs: - - x86_64-centos-stream-9-local-env - - project: libvirt/libvirt-perl - job: x86_64-centos-stream-9-prebuilt-env - ref: master - artifacts: true - - project: libvirt/libvirt-python - job: x86_64-centos-stream-9-prebuilt-env - ref: master - artifacts: true - - # NOTE The integration tests use artifacts produced by the libvirt-perl # and libvirt-python CI jobs, so the new target needs to be introduced # there before it can be used here. The VM template for the target # also needs to be created on the runner host. -.fedora-38-tests: +fedora-38-tests: + extends: .integration_tests variables: # needed by libvirt-gitlab-executor DISTRO: fedora-38 @@ -101,43 +62,23 @@ centos-stream-9-tests-local-env: LIBVIRT_CI_INTEGRATION_RUNNER_TAG: redhat-vm-host tags: - $LIBVIRT_CI_INTEGRATION_RUNNER_TAG - -fedora-38-tests-prebuilt-env: - extends: - - .integration_tests_prebuilt_env - - .fedora-38-tests needs: - - x86_64-fedora-38-prebuilt-env + - x86_64-fedora-38 - project: libvirt/libvirt-perl - job: x86_64-fedora-38-prebuilt-env + job: x86_64-fedora-38 ref: master artifacts: true - project: libvirt/libvirt-python - job: x86_64-fedora-38-prebuilt-env + job: x86_64-fedora-38 ref: master artifacts: true -fedora-38-tests-local-env: - extends: - - .integration_tests_local_env - - .fedora-38-tests - needs: - - x86_64-fedora-38-local-env - - project: libvirt/libvirt-perl - job: x86_64-fedora-38-prebuilt-env - ref: master - artifacts: true - - project: libvirt/libvirt-python - job: x86_64-fedora-38-prebuilt-env - ref: master - artifacts: true - - # NOTE The integration tests use artifacts produced by the libvirt-perl # and libvirt-python CI jobs, so the new target needs to be introduced # there before it can be used here. The VM template for the target # also needs to be created on the runner host. -.fedora-39-tests: +fedora-39-tests: + extends: .integration_tests variables: # needed by libvirt-gitlab-executor DISTRO: fedora-39 @@ -145,43 +86,23 @@ fedora-38-tests-local-env: LIBVIRT_CI_INTEGRATION_RUNNER_TAG: redhat-vm-host tags: - $LIBVIRT_CI_INTEGRATION_RUNNER_TAG - -fedora-39-tests-prebuilt-env: - extends: - - .integration_tests_prebuilt_env - - .fedora-39-tests needs: - - x86_64-fedora-39-prebuilt-env + - x86_64-fedora-39 - project: libvirt/libvirt-perl - job: x86_64-fedora-39-prebuilt-env + job: x86_64-fedora-39 ref: master artifacts: true - project: libvirt/libvirt-python - job: x86_64-fedora-39-prebuilt-env + job: x86_64-fedora-39 ref: master artifacts: true -fedora-39-tests-local-env: - extends: - - .integration_tests_local_env - - .fedora-39-tests - needs: - - x86_64-fedora-39-local-env - - project: libvirt/libvirt-perl - job: x86_64-fedora-39-prebuilt-env - ref: master - artifacts: true - - project: libvirt/libvirt-python - job: x86_64-fedora-39-prebuilt-env - ref: master - artifacts: true - - # NOTE The integration tests use artifacts produced by the libvirt-perl # and libvirt-python CI jobs, so the new target needs to be introduced # there before it can be used here. The VM template for the target # also needs to be created on the runner host. .fedora-39-upstream-qemu-tests: + extends: .integration_tests variables: # needed by libvirt-gitlab-executor DISTRO: fedora-39 @@ -189,33 +110,13 @@ fedora-39-tests-local-env: LIBVIRT_CI_INTEGRATION_RUNNER_TAG: redhat-vm-host tags: - $LIBVIRT_CI_INTEGRATION_RUNNER_TAG - -fedora-39-upstream-qemu-tests-prebuilt-env: - extends: - - .integration_tests_upstream_qemu_prebuilt_env - - .fedora-39-upstream-qemu-tests needs: - - x86_64-fedora-39-prebuilt-env + - x86_64-fedora-39 - project: libvirt/libvirt-perl - job: x86_64-fedora-39-prebuilt-env + job: x86_64-fedora-39 ref: master artifacts: true - project: libvirt/libvirt-python - job: x86_64-fedora-39-prebuilt-env - ref: master - artifacts: true - -fedora-39-upstream-qemu-tests-local-env: - extends: - - .integration_tests_upstream_qemu_local_env - - .fedora-39-upstream-qemu-tests - needs: - - x86_64-fedora-39-local-env - - project: libvirt/libvirt-perl - job: x86_64-fedora-39-prebuilt-env - ref: master - artifacts: true - - project: libvirt/libvirt-python - job: x86_64-fedora-39-prebuilt-env + job: x86_64-fedora-39 ref: master artifacts: true