summaryrefslogtreecommitdiff
path: root/.gitlab-ci/config.yml
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2020-10-30 09:19:11 +1000
committerThomas Haller <thaller@redhat.com>2020-11-09 09:28:11 +0100
commit35334f478bdb9e691122f041d07b337b1440a760 (patch)
treed6ed3dd5eda3a45071aaf400ae9fd3b27d7bf975 /.gitlab-ci/config.yml
parentd6457902d127f2a29be4d12fe5b9ae94e3106b57 (diff)
downloadNetworkManager-35334f478bdb9e691122f041d07b337b1440a760.tar.gz
gitlab CI: switch to using ci-templates
ci-templates encourages building specific containers that can be re-used: - containers are re-used across pipelines, producing consistent results - containers are re-used by contributors since they will use the upstream containers for their MR, thus guaranteeing the same results. Containers are automatically rebuild whenever the respective FDO_DISTRIBUTION_TAG changes. This is particularly interesting now that Docker Hub will introduce pull limits. This CI script consists of a config file and a jinja2 template, simply running 'ci-fairy generate-template' produces the .gitlab-ci.yml. ci-fairy is part of the freedesktop.org ci-templates and can be pip installed, see the check-ci-script job. Functional changes to the previous script: - new job: check-ci-script, verifies that our gitlab-ci.yml is the one generated by the sources - Added distributions: - Fedora 33 - The actual work is now down by a set of scripts in .gitlab-ci/, specifically: - .gitlab-ci/build.sh is the previous do_build job - .gitlab-ci/{fedora|debian}-install.sh are the previous {fedora|debian}_install jobs symlinks are in place for centos and ubuntu Why the scripts instead of steps in the CI? Easer to reading and reproduce. With the containers being static, it's easy to pull one locally and re-run the CI job to reproduce an issue. Having everything in a single script makes that trivial. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/664
Diffstat (limited to '.gitlab-ci/config.yml')
-rw-r--r--.gitlab-ci/config.yml55
1 files changed, 55 insertions, 0 deletions
diff --git a/.gitlab-ci/config.yml b/.gitlab-ci/config.yml
new file mode 100644
index 0000000000..1e0d2b0b46
--- /dev/null
+++ b/.gitlab-ci/config.yml
@@ -0,0 +1,55 @@
+# This file contains the configuration for the gitlab ci.
+#
+# To recreate the .gitlab-ci.yml file, run
+# ci-fairy generate-template
+#
+# The ci-fairy tool is part of
+# https://gitlab.freedesktop.org/freedesktop/ci-templates
+#
+
+# We're happy to rebuild all containers when one changes.
+.default_tag: &default_tag '2020-10-30.0'
+
+
+# The list of all distributions we want to create job for.
+# The template generates manual jobs for all these.
+distributions:
+ - name: fedora
+ tag: *default_tag
+ versions:
+ - '32'
+ - '33'
+ - '31'
+ - '30'
+ - '29'
+ - '28'
+ - 'rawhide'
+ always:
+ - '32'
+ - name: ubuntu
+ tag: *default_tag
+ versions:
+ - 'devel'
+ - 'rolling'
+ - '18.04'
+ - '16.04'
+ - name: debian
+ tag: *default_tag
+ versions:
+ - '9'
+ - '10'
+ - 'testing'
+ - 'sid'
+ - name: centos
+ tag: *default_tag
+ versions:
+ - '7.5.1804'
+ - '7.6.1810'
+ - '7.7.1908'
+ - '7.8.2003'
+ - '8.1.1911'
+
+# specifies which of the above distros is used as source for pages
+pages_build:
+ name: fedora
+ version: '32'