include: - remote: 'https://gitlab.gnome.org/Infrastructure/freedesktop-ci-templates/-/raw/593a0a5fe35a523a646a7efae5471c9759b8fba3/templates/fedora.yml' - component: gitlab.gnome.org/GNOME/citemplates/release-service@master inputs: job-stage: "deploy" dist-job-name: "build-maximal" tarball-artifact-path: "_build/meson-dist/$CI_PROJECT_NAME-$CI_COMMIT_TAG.tar.xz" variables: FDO_UPSTREAM_REPO: gnome/gnome-initial-setup stages: - prepare - build - deploy .fedora.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: '2025-01-31.01-main' FDO_DISTRIBUTION_VERSION: 42 # Workaround for https://gitlab.gnome.org/Infrastructure/Infrastructure/-/issues/1247 FDO_DISTRIBUTION_EXEC: | rm -r /var/lib/gdm/.config # See also https://gitlab.gnome.org/Infrastructure/freedesktop-ci-templates build.container.fedora@x86_64: extends: - '.fdo.container-build@fedora' - '.fedora.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: >- @c-development accountsservice-devel ccache desktop-file-utils fontconfig-devel gdm-devel geoclue2-devel geocode-glib-devel git glib2-devel gnome-desktop4-devel gsettings-desktop-schemas-devel gtk4-devel ibus-devel krb5-devel libgweather4-devel libadwaita-devel libnma-gtk4-devel libpwquality-devel libsecret-devel malcontent-ui-devel meson polkit-devel webkitgtk6.0-devel .job_template: &job_definition extends: - '.fdo.distribution-image@fedora' - '.fedora.container.common' stage: build script: - git config --global --add safe.directory $CI_PROJECT_DIR # 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 - meson dist artifacts: when: always name: "${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}" paths: - "${CI_PROJECT_DIR}/_build/meson-logs" - "${CI_PROJECT_DIR}/_build/meson-dist/*.tar.xz" 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'