aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel P. Berrangé <berrange@redhat.com>2022-03-11 13:56:40 +0000
committerDaniel P. Berrangé <berrange@redhat.com>2022-05-11 13:22:21 +0100
commita8d5a434ec22a1e31519766bf49cbbf97f60de70 (patch)
tree3250a98003bfa8307338ab1c7aa17131aa9f05aa
parenta49206973dc028d653c953e2bf7a0b689abca3d1 (diff)
downloadlibvirt-ci-a8d5a434ec22a1e31519766bf49cbbf97f60de70.zip
libvirt-ci-a8d5a434ec22a1e31519766bf49cbbf97f60de70.tar.gz
libvirt-ci-a8d5a434ec22a1e31519766bf49cbbf97f60de70.tar.bz2
lcitool/manifest: split gitlab build jobs into separate file
Currently ci/gitlab.yml contains all the generated build logic. This continues from the previous commit by splitting the build jobs into a separate file called 'ci/gitlab/builds.yml' Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
-rw-r--r--guests/lcitool/lcitool/manifest.py13
-rw-r--r--guests/lcitool/tests/data/manifest/out/ci/gitlab.yml79
-rw-r--r--guests/lcitool/tests/data/manifest/out/ci/gitlab/builds.yml77
-rw-r--r--guests/lcitool/tests/test_manifest.py1
4 files changed, 87 insertions, 83 deletions
diff --git a/guests/lcitool/lcitool/manifest.py b/guests/lcitool/lcitool/manifest.py
index da38f53..a5cd5dc 100644
--- a/guests/lcitool/lcitool/manifest.py
+++ b/guests/lcitool/lcitool/manifest.py
@@ -275,7 +275,6 @@ class Manifest:
project = gitlabinfo["project"]
jobinfo = gitlabinfo["jobs"]
- gitlabcontent = []
includes = []
if gitlabinfo["containers"]:
path = Path(gitlabdir, "container-templates.yml")
@@ -318,12 +317,16 @@ class Manifest:
includes.append(path)
if gitlabinfo["builds"]:
- gitlabcontent.extend(self._generate_gitlab_native_build_jobs())
- gitlabcontent.extend(self._generate_gitlab_cross_build_jobs())
- gitlabcontent.extend(self._generate_gitlab_cirrus_build_jobs())
+ path = Path(gitlabdir, "builds.yml")
+ content = []
+ content.extend(self._generate_gitlab_native_build_jobs())
+ content.extend(self._generate_gitlab_cross_build_jobs())
+ content.extend(self._generate_gitlab_cirrus_build_jobs())
+ self._replace_file(content, path, dryrun)
+ includes.append(path)
path = Path(self.cidir, "gitlab.yml")
- content = [gitlab.includes(includes)] + gitlabcontent
+ content = [gitlab.includes(includes)]
self._replace_file(content, path, dryrun)
def _generate_gitlab_container_jobs(self, cross):
diff --git a/guests/lcitool/tests/data/manifest/out/ci/gitlab.yml b/guests/lcitool/tests/data/manifest/out/ci/gitlab.yml
index 9e850a2..79a967f 100644
--- a/guests/lcitool/tests/data/manifest/out/ci/gitlab.yml
+++ b/guests/lcitool/tests/data/manifest/out/ci/gitlab.yml
@@ -3,81 +3,4 @@ include:
- local: 'ci/gitlab/build-templates.yml'
- local: 'ci/gitlab/sanity-checks.yml'
- local: 'ci/gitlab/containers.yml'
-
-# Native build jobs
-
-x86_64-centos-stream-9:
- extends: .native_build_job
- needs:
- - x86_64-centos-stream-9-container
- allow_failure: false
- variables:
- NAME: centos-stream-9
-
-
-x86_64-fedora-rawhide-clang:
- extends: .native_build_job
- needs:
- - x86_64-fedora-rawhide-container
- allow_failure: false
- variables:
- CC: clang
- NAME: fedora-rawhide
-
-
-
-# Cross build jobs
-
-i686-debian-sid:
- extends: .cross_build_job
- needs:
- - i686-debian-sid-container
- allow_failure: false
- variables:
- CROSS: i686
- NAME: debian-sid
- artifacts:
- expire_in: 2 days
- paths:
- - build
- - scratch
-
-
-mingw32-fedora-rawhide:
- extends: .cross_build_job
- needs:
- - mingw32-fedora-rawhide-container
- allow_failure: false
- variables:
- CROSS: mingw32
- NAME: fedora-rawhide
-
-
-# Native cirrus build jobs
-
-x86_64-freebsd-current:
- extends: .cirrus_build_job
- needs: []
- allow_failure: false
- variables:
- CIRRUS_VM_IMAGE_NAME: freebsd-13-0-snap
- CIRRUS_VM_IMAGE_SELECTOR: image_family
- CIRRUS_VM_INSTANCE_TYPE: freebsd_instance
- INSTALL_COMMAND: pkg install -y
- NAME: freebsd-current
- UPDATE_COMMAND: pkg update
- UPGRADE_COMMAND: pkg upgrade -y
-
-
-x86_64-macos-11:
- extends: .cirrus_build_job
- needs: []
- allow_failure: false
- variables:
- CIRRUS_VM_IMAGE_NAME: big-sur-base
- CIRRUS_VM_IMAGE_SELECTOR: image
- CIRRUS_VM_INSTANCE_TYPE: osx_instance
- INSTALL_COMMAND: brew install
- NAME: macos-11
- UPDATE_COMMAND: brew update
- UPGRADE_COMMAND: brew upgrade
+ - local: 'ci/gitlab/builds.yml'
diff --git a/guests/lcitool/tests/data/manifest/out/ci/gitlab/builds.yml b/guests/lcitool/tests/data/manifest/out/ci/gitlab/builds.yml
new file mode 100644
index 0000000..3e1f87b
--- /dev/null
+++ b/guests/lcitool/tests/data/manifest/out/ci/gitlab/builds.yml
@@ -0,0 +1,77 @@
+# Native build jobs
+
+x86_64-centos-stream-9:
+ extends: .native_build_job
+ needs:
+ - x86_64-centos-stream-9-container
+ allow_failure: false
+ variables:
+ NAME: centos-stream-9
+
+
+x86_64-fedora-rawhide-clang:
+ extends: .native_build_job
+ needs:
+ - x86_64-fedora-rawhide-container
+ allow_failure: false
+ variables:
+ CC: clang
+ NAME: fedora-rawhide
+
+
+
+# Cross build jobs
+
+i686-debian-sid:
+ extends: .cross_build_job
+ needs:
+ - i686-debian-sid-container
+ allow_failure: false
+ variables:
+ CROSS: i686
+ NAME: debian-sid
+ artifacts:
+ expire_in: 2 days
+ paths:
+ - build
+ - scratch
+
+
+mingw32-fedora-rawhide:
+ extends: .cross_build_job
+ needs:
+ - mingw32-fedora-rawhide-container
+ allow_failure: false
+ variables:
+ CROSS: mingw32
+ NAME: fedora-rawhide
+
+
+# Native cirrus build jobs
+
+x86_64-freebsd-current:
+ extends: .cirrus_build_job
+ needs: []
+ allow_failure: false
+ variables:
+ CIRRUS_VM_IMAGE_NAME: freebsd-13-0-snap
+ CIRRUS_VM_IMAGE_SELECTOR: image_family
+ CIRRUS_VM_INSTANCE_TYPE: freebsd_instance
+ INSTALL_COMMAND: pkg install -y
+ NAME: freebsd-current
+ UPDATE_COMMAND: pkg update
+ UPGRADE_COMMAND: pkg upgrade -y
+
+
+x86_64-macos-11:
+ extends: .cirrus_build_job
+ needs: []
+ allow_failure: false
+ variables:
+ CIRRUS_VM_IMAGE_NAME: big-sur-base
+ CIRRUS_VM_IMAGE_SELECTOR: image
+ CIRRUS_VM_INSTANCE_TYPE: osx_instance
+ INSTALL_COMMAND: brew install
+ NAME: macos-11
+ UPDATE_COMMAND: brew update
+ UPGRADE_COMMAND: brew upgrade
diff --git a/guests/lcitool/tests/test_manifest.py b/guests/lcitool/tests/test_manifest.py
index 81dd2a5..00e3792 100644
--- a/guests/lcitool/tests/test_manifest.py
+++ b/guests/lcitool/tests/test_manifest.py
@@ -117,6 +117,7 @@ def test_generate(monkeypatch, custom_projects):
assert_write(Path("ci", "gitlab", "container-templates.yml"))
assert_write(Path("ci", "gitlab", "containers.yml"))
assert_write(Path("ci", "gitlab", "build-templates.yml"))
+ assert_write(Path("ci", "gitlab", "builds.yml"))
assert_write(Path("ci", "gitlab", "sanity-checks.yml"))
assert_write(Path("ci", "cirrus", "freebsd-current.vars"))
assert_write(Path("ci", "cirrus", "macos-11.vars"))