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'