summaryrefslogtreecommitdiff
path: root/ci/gitlab
diff options
context:
space:
mode:
Diffstat (limited to 'ci/gitlab')
-rw-r--r--ci/gitlab/build-templates.yml229
-rw-r--r--ci/gitlab/builds.yml270
-rw-r--r--ci/gitlab/container-templates.yml44
-rw-r--r--ci/gitlab/containers.yml108
-rw-r--r--ci/gitlab/sanity-checks.yml26
5 files changed, 677 insertions, 0 deletions
diff --git a/ci/gitlab/build-templates.yml b/ci/gitlab/build-templates.yml
new file mode 100644
index 0000000..65287b5
--- /dev/null
+++ b/ci/gitlab/build-templates.yml
@@ -0,0 +1,229 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+# $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+
+#
+# We use pre-built containers for any pipelines that are:
+#
+# - Validating code committed on default upstream branch
+# - Validating patches targetting default upstream branch
+# which do not have CI changes
+#
+# We use a local build env for any pipelines that are:
+#
+# - Validating code committed to a non-default upstream branch
+# - Validating patches targetting a non-default upstream branch
+# - Validating patches targetting default upstream branch which
+# include CI changes
+# - Validating code committed to a fork branch
+#
+# Note: the rules across the prebuilt_env and local_env templates
+# should be logical inverses, such that jobs are mutually exclusive
+#
+.gitlab_native_build_job_prebuilt_env:
+ image: $CI_REGISTRY/$RUN_UPSTREAM_NAMESPACE/libosinfo/ci-$NAME:latest
+ stage: builds
+ before_script:
+ - cat /packages.txt
+ rules:
+ # 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
+ allow_failure: true
+ - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
+ when: on_success
+
+ # upstream: other web/api/scheduled pipelines targetting the default branch
+ - 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
+ - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH'
+ when: on_success
+
+ # upstream+forks: merge requests targetting the default branch, without CI changes
+ - 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: never
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
+ when: manual
+ allow_failure: true
+ - 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
+ 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
+
+ - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE && $JOB_OPTIONAL'
+ when: manual
+ allow_failure: true
+ - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE'
+ when: on_success
+
+ # upstream: other web/api/scheduled pipelines targetting 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
+ - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH'
+ when: on_success
+
+ # 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
+ - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/'
+ when: on_success
+
+ # upstream+forks: merge requests targetting the default branch, with CI changes
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
+ changes:
+ - ci/gitlab/container-templates.yml
+ - ci/containers/$NAME.Dockerfile
+ when: manual
+ allow_failure: true
+ - 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
+
+ # upstream+forks: merge requests targetting 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
+ - 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
+
+
+#
+# We use pre-built containers for any pipelines that are:
+#
+# - Validating code committed on default upstream branch
+# - Validating patches targetting default upstream branch
+# which do not have CI changes
+#
+# We use a local build env for any pipelines that are:
+#
+# - Validating code committed to a non-default upstream branch
+# - Validating patches targetting a non-default upstream branch
+# - Validating patches targetting default upstream branch which
+# include CI changes
+# - Validating code committed to a fork branch
+#
+# Note: the rules across the prebuilt_env and local_env templates
+# should be logical inverses, such that jobs are mutually exclusive
+#
+.gitlab_cross_build_job_prebuilt_env:
+ image: $CI_REGISTRY/$RUN_UPSTREAM_NAMESPACE/libosinfo/ci-$NAME-cross-$CROSS:latest
+ stage: builds
+ before_script:
+ - cat /packages.txt
+ rules:
+ # 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
+ allow_failure: true
+ - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
+ when: on_success
+
+ # upstream: other web/api/scheduled pipelines targetting the default branch
+ - 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
+ - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH'
+ when: on_success
+
+ # upstream+forks: merge requests targetting the default branch, without CI changes
+ - 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: never
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
+ when: manual
+ allow_failure: true
+ - 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
+ 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
+
+ - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE && $JOB_OPTIONAL'
+ when: manual
+ allow_failure: true
+ - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE'
+ when: on_success
+
+ # upstream: other web/api/scheduled pipelines targetting 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
+ - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH'
+ when: on_success
+
+ # 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
+ - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/'
+ when: on_success
+
+ # upstream+forks: merge requests targetting the default branch, with CI changes
+ - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
+ changes:
+ - ci/gitlab/container-templates.yml
+ - ci/containers/$NAME.Dockerfile
+ when: manual
+ allow_failure: true
+ - 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
+
+ # upstream+forks: merge requests targetting 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
+ - 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
diff --git a/ci/gitlab/builds.yml b/ci/gitlab/builds.yml
new file mode 100644
index 0000000..b07cfce
--- /dev/null
+++ b/ci/gitlab/builds.yml
@@ -0,0 +1,270 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+# $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+
+# Native build jobs
+
+x86_64-centos-stream-8-prebuilt-env:
+ extends: .native_build_job_prebuilt_env
+ needs:
+ - job: x86_64-centos-stream-8-container
+ optional: true
+ allow_failure: false
+ variables:
+ NAME: centos-stream-8
+
+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
+
+
+x86_64-centos-stream-9-prebuilt-env:
+ extends: .native_build_job_prebuilt_env
+ needs:
+ - job: x86_64-centos-stream-9-container
+ optional: true
+ allow_failure: false
+ variables:
+ NAME: centos-stream-9
+
+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
+
+
+x86_64-debian-10-prebuilt-env:
+ extends: .native_build_job_prebuilt_env
+ needs:
+ - job: x86_64-debian-10-container
+ optional: true
+ allow_failure: false
+ variables:
+ NAME: debian-10
+
+x86_64-debian-10-local-env:
+ extends: .native_build_job_local_env
+ needs: []
+ allow_failure: false
+ variables:
+ IMAGE: docker.io/library/debian:10-slim
+ NAME: debian-10
+
+
+x86_64-debian-11-prebuilt-env:
+ extends: .native_build_job_prebuilt_env
+ needs:
+ - job: x86_64-debian-11-container
+ optional: true
+ allow_failure: false
+ variables:
+ 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
+ NAME: debian-11
+
+
+x86_64-debian-sid-prebuilt-env:
+ extends: .native_build_job_prebuilt_env
+ needs:
+ - job: x86_64-debian-sid-container
+ optional: true
+ allow_failure: false
+ variables:
+ NAME: debian-sid
+
+x86_64-debian-sid-local-env:
+ extends: .native_build_job_local_env
+ needs: []
+ allow_failure: false
+ variables:
+ IMAGE: docker.io/library/debian:sid-slim
+ NAME: debian-sid
+
+
+x86_64-fedora-35-prebuilt-env:
+ extends: .native_build_job_prebuilt_env
+ needs:
+ - job: x86_64-fedora-35-container
+ optional: true
+ allow_failure: false
+ variables:
+ NAME: fedora-35
+
+x86_64-fedora-35-local-env:
+ extends: .native_build_job_local_env
+ needs: []
+ allow_failure: false
+ variables:
+ IMAGE: registry.fedoraproject.org/fedora:35
+ NAME: fedora-35
+
+
+x86_64-fedora-36-prebuilt-env:
+ extends: .native_build_job_prebuilt_env
+ needs:
+ - job: x86_64-fedora-36-container
+ optional: true
+ allow_failure: false
+ variables:
+ NAME: fedora-36
+
+x86_64-fedora-36-local-env:
+ extends: .native_build_job_local_env
+ needs: []
+ allow_failure: false
+ variables:
+ IMAGE: registry.fedoraproject.org/fedora:36
+ NAME: fedora-36
+
+
+x86_64-fedora-rawhide-prebuilt-env:
+ extends: .native_build_job_prebuilt_env
+ needs:
+ - job: x86_64-fedora-rawhide-container
+ optional: true
+ allow_failure: false
+ variables:
+ NAME: fedora-rawhide
+
+x86_64-fedora-rawhide-local-env:
+ extends: .native_build_job_local_env
+ needs: []
+ allow_failure: false
+ variables:
+ IMAGE: registry.fedoraproject.org/fedora:rawhide
+ NAME: fedora-rawhide
+
+
+x86_64-opensuse-leap-153-prebuilt-env:
+ extends: .native_build_job_prebuilt_env
+ needs:
+ - job: x86_64-opensuse-leap-153-container
+ optional: true
+ allow_failure: false
+ variables:
+ NAME: opensuse-leap-153
+ RPM: skip
+
+x86_64-opensuse-leap-153-local-env:
+ extends: .native_build_job_local_env
+ needs: []
+ allow_failure: false
+ variables:
+ IMAGE: registry.opensuse.org/opensuse/leap:15.3
+ NAME: opensuse-leap-153
+ RPM: skip
+
+
+x86_64-opensuse-tumbleweed-prebuilt-env:
+ extends: .native_build_job_prebuilt_env
+ needs:
+ - job: x86_64-opensuse-tumbleweed-container
+ optional: true
+ allow_failure: false
+ variables:
+ NAME: opensuse-tumbleweed
+ RPM: skip
+
+x86_64-opensuse-tumbleweed-local-env:
+ extends: .native_build_job_local_env
+ needs: []
+ allow_failure: false
+ variables:
+ IMAGE: registry.opensuse.org/opensuse/tumbleweed:latest
+ NAME: opensuse-tumbleweed
+ RPM: skip
+
+
+x86_64-ubuntu-2004-prebuilt-env:
+ extends: .native_build_job_prebuilt_env
+ needs:
+ - job: x86_64-ubuntu-2004-container
+ optional: true
+ allow_failure: false
+ variables:
+ NAME: ubuntu-2004
+
+x86_64-ubuntu-2004-local-env:
+ extends: .native_build_job_local_env
+ needs: []
+ allow_failure: false
+ variables:
+ IMAGE: docker.io/library/ubuntu:20.04
+ NAME: ubuntu-2004
+
+
+x86_64-ubuntu-2204-prebuilt-env:
+ extends: .native_build_job_prebuilt_env
+ needs:
+ - job: x86_64-ubuntu-2204-container
+ optional: true
+ allow_failure: false
+ variables:
+ 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
+ NAME: ubuntu-2204
+
+
+
+# Cross build jobs
+
+mingw32-fedora-rawhide-prebuilt-env:
+ extends: .cross_build_job_prebuilt_env
+ needs:
+ - job: mingw32-fedora-rawhide-container
+ optional: true
+ allow_failure: false
+ variables:
+ CROSS: mingw32
+ NAME: fedora-rawhide
+
+mingw32-fedora-rawhide-local-env:
+ extends: .cross_build_job_local_env
+ needs: []
+ allow_failure: false
+ variables:
+ CROSS: mingw32
+ IMAGE: registry.fedoraproject.org/fedora:rawhide
+ NAME: fedora-rawhide
+
+
+mingw64-fedora-rawhide-prebuilt-env:
+ extends: .cross_build_job_prebuilt_env
+ needs:
+ - job: mingw64-fedora-rawhide-container
+ optional: true
+ allow_failure: false
+ variables:
+ CROSS: mingw64
+ NAME: fedora-rawhide
+
+mingw64-fedora-rawhide-local-env:
+ extends: .cross_build_job_local_env
+ needs: []
+ allow_failure: false
+ variables:
+ CROSS: mingw64
+ IMAGE: registry.fedoraproject.org/fedora:rawhide
+ NAME: fedora-rawhide
diff --git a/ci/gitlab/container-templates.yml b/ci/gitlab/container-templates.yml
new file mode 100644
index 0000000..a577028
--- /dev/null
+++ b/ci/gitlab/container-templates.yml
@@ -0,0 +1,44 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+# $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+
+# We want to publish containers with tag 'latest':
+#
+# - In upstream, for push to default branch with CI changes.
+# - In upstream, on request, for scheduled/manual pipelines
+# against default branch
+#
+# Note: never publish from merge requests since they have non-committed code
+#
+.container_job:
+ image: docker:stable
+ stage: containers
+ needs: []
+ services:
+ - docker:dind
+ before_script:
+ - export TAG="$CI_REGISTRY_IMAGE/ci-$NAME:latest"
+ - docker info
+ - docker login "$CI_REGISTRY" -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD"
+ script:
+ - docker build --tag "$TAG" -f "ci/containers/$NAME.Dockerfile" ci/containers ;
+ - docker push "$TAG"
+ after_script:
+ - docker logout
+ rules:
+ # upstream: publish containers if there were CI changes on the default branch
+ - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
+ when: on_success
+ changes:
+ - ci/gitlab/container-templates.yml
+ - ci/containers/$NAME.Dockerfile
+
+ # upstream: allow force re-publishing containers on default branch for web/api/scheduled pipelines
+ - if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $RUN_CONTAINER_BUILDS == "1"'
+ when: on_success
+
+ # upstream+forks: that's all folks
+ - when: never
diff --git a/ci/gitlab/containers.yml b/ci/gitlab/containers.yml
new file mode 100644
index 0000000..ce667d9
--- /dev/null
+++ b/ci/gitlab/containers.yml
@@ -0,0 +1,108 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+# $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+
+# Native container jobs
+
+x86_64-centos-stream-8-container:
+ extends: .container_job
+ allow_failure: false
+ variables:
+ NAME: centos-stream-8
+
+
+x86_64-centos-stream-9-container:
+ extends: .container_job
+ allow_failure: false
+ variables:
+ NAME: centos-stream-9
+
+
+x86_64-debian-10-container:
+ extends: .container_job
+ allow_failure: false
+ variables:
+ NAME: debian-10
+
+
+x86_64-debian-11-container:
+ extends: .container_job
+ allow_failure: false
+ variables:
+ NAME: debian-11
+
+
+x86_64-debian-sid-container:
+ extends: .container_job
+ allow_failure: false
+ variables:
+ NAME: debian-sid
+
+
+x86_64-fedora-35-container:
+ extends: .container_job
+ allow_failure: false
+ variables:
+ NAME: fedora-35
+
+
+x86_64-fedora-36-container:
+ extends: .container_job
+ allow_failure: false
+ variables:
+ NAME: fedora-36
+
+
+x86_64-fedora-rawhide-container:
+ extends: .container_job
+ allow_failure: false
+ variables:
+ NAME: fedora-rawhide
+
+
+x86_64-opensuse-leap-153-container:
+ extends: .container_job
+ allow_failure: false
+ variables:
+ NAME: opensuse-leap-153
+
+
+x86_64-opensuse-tumbleweed-container:
+ extends: .container_job
+ allow_failure: false
+ variables:
+ NAME: opensuse-tumbleweed
+
+
+x86_64-ubuntu-2004-container:
+ extends: .container_job
+ allow_failure: false
+ variables:
+ NAME: ubuntu-2004
+
+
+x86_64-ubuntu-2204-container:
+ extends: .container_job
+ allow_failure: false
+ variables:
+ NAME: ubuntu-2204
+
+
+
+# Cross container jobs
+
+mingw32-fedora-rawhide-container:
+ extends: .container_job
+ allow_failure: false
+ variables:
+ NAME: fedora-rawhide-cross-mingw32
+
+
+mingw64-fedora-rawhide-container:
+ extends: .container_job
+ allow_failure: false
+ variables:
+ NAME: fedora-rawhide-cross-mingw64
diff --git a/ci/gitlab/sanity-checks.yml b/ci/gitlab/sanity-checks.yml
new file mode 100644
index 0000000..f843c7f
--- /dev/null
+++ b/ci/gitlab/sanity-checks.yml
@@ -0,0 +1,26 @@
+# THIS FILE WAS AUTO-GENERATED
+#
+# $ lcitool manifest ci/manifest.yml
+#
+# https://gitlab.com/libvirt/libvirt-ci
+
+
+check-dco:
+ stage: sanity_checks
+ needs: []
+ image: registry.gitlab.com/libvirt/libvirt-ci/check-dco:master
+ script:
+ - /check-dco "$RUN_UPSTREAM_NAMESPACE"
+ rules:
+ # upstream+forks: Run pipelines on MR
+ - if: '$CI_PIPELINE_SOURCE =~ "merge_request_event"'
+ when: on_success
+
+ # forks: pushes to branches with pipeline requested
+ - if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE && $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH && $RUN_PIPELINE'
+ when: on_success
+
+ # upstream+forks: that's all folks
+ - when: never
+ variables:
+ GIT_DEPTH: 1000