diff options
Diffstat (limited to '')
-rw-r--r-- | .gitlab-ci.yml | 112 |
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' |