summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:47:04 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:47:04 +0000
commite05fb7b3e36c052baf0dd607ddeb22c0a2b5cbde (patch)
tree7a27d70e96502edf2b5576d3ca403f1b8512f55b /.gitlab-ci.yml
parentInitial commit. (diff)
downloadgnome-initial-setup-e05fb7b3e36c052baf0dd607ddeb22c0a2b5cbde.tar.xz
gnome-initial-setup-e05fb7b3e36c052baf0dd607ddeb22c0a2b5cbde.zip
Adding upstream version 43.2.upstream/43.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml112
1 files changed, 112 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..c2d5aba
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,112 @@
+include:
+ - remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/c5626190ec14b475271288dda7a7dae8dbe0cd76/templates/arch.yml'
+
+variables:
+ FDO_UPSTREAM_REPO: gnome/gnome-initial-setup
+
+stages:
+ - prepare
+ - build
+
+.arch.container.common:
+ variables:
+ # When branching a stable release, change 'main'
+ # to the release number/branch to ensure that
+ # a new image will be created, tailored for the
+ # stable branch.
+ FDO_DISTRIBUTION_TAG: '2022-12-02.0-43'
+
+# See also https://gitlab.freedesktop.org/freedesktop/ci-templates
+build.container.arch@x86_64:
+ extends:
+ - '.fdo.container-build@arch'
+ - '.arch.container.common'
+ stage: 'prepare'
+ variables:
+ # no need to pull the whole tree for rebuilding the image
+ GIT_STRATEGY: none
+ # Expiry sets fdo.expires on the image
+ FDO_EXPIRES_AFTER: 8w
+ FDO_DISTRIBUTION_PACKAGES: >-
+ accountsservice
+ appstream
+ base-devel
+ flatpak
+ fontconfig
+ gdm
+ geoclue
+ geocode-glib
+ git
+ gnome-desktop-4
+ gnome-online-accounts
+ gsettings-desktop-schemas
+ gobject-introspection
+ gtk4
+ gtk-doc
+ itstool
+ json-glib
+ krb5
+ libadwaita
+ libglib-testing
+ libgweather-4
+ libibus
+ libmalcontent
+ libnm
+ libnma-gtk4
+ libpwquality
+ librest
+ libsecret
+ malcontent
+ meson
+ polkit
+ sassc
+ webkit2gtk-5.0
+ yelp-tools
+
+.job_template: &job_definition
+ extends:
+ - '.fdo.distribution-image@arch'
+ - '.arch.container.common'
+
+ stage: build
+
+ script:
+ # In general, we would like warnings to be fatal. However, code copied from
+ # gnome-control-center uses many deprecated functions. Until we have a good
+ # answer to sharing that code (#68), make those warnings non-fatal.
+ - meson setup
+ --wrap-mode=nofallback
+ --fatal-meson-warnings
+ -Dsystemd=${EXPLICIT_FEATURES}
+ --auto-features ${AUTO_FEATURES}
+ ${OPTIONS}
+ -Dwerror=true -Dc_args=-Wno-error=deprecated-declarations
+ ${EXTRA_PARAMETERS}
+ _build
+ .
+ - cd _build
+ - ninja -v
+ # Check that strings can be extracted
+ - ninja -v gnome-initial-setup-pot
+ # Check the package can be installed
+ - DESTDIR=$(mktemp -d) ninja -v install
+ - meson test
+ artifacts:
+ when: on_failure
+ name: "gnome-initial-setup-${CI_COMMIT_REF_NAME}-${CI_JOB_NAME}"
+ paths:
+ - "${CI_PROJECT_DIR}/_build/meson-logs"
+
+build-minimal:
+ <<: *job_definition
+ variables:
+ EXPLICIT_FEATURES: 'false'
+ AUTO_FEATURES: 'disabled'
+ OPTIONS: ''
+
+build-maximal:
+ <<: *job_definition
+ variables:
+ EXPLICIT_FEATURES: 'true'
+ AUTO_FEATURES: 'enabled'
+ OPTIONS: '-Dvendor-conf-file=/var/lib/weird-vendor-specific-path.ini'