1
0
Fork 0
nautilus/.gitlab-ci.yml
Daniel Baumann c99d511d89
Adding upstream version 48.2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-22 22:37:51 +02:00

178 lines
5.1 KiB
YAML

include:
- project: "GNOME/citemplates"
file: "flatpak/flatpak_ci_initiative.yml"
- project: "Infrastructure/freedesktop-ci-templates"
file: "templates/fedora.yml"
- component: gitlab.gnome.org/GNOME/citemplates/release-service@master
inputs:
job-stage: release
dist-job-name: "flatpak@x86_64"
tarball-artifact-path: "${TARBALL_ARTIFACT_PATH}"
variables:
DEPENDENCIES:
git
gcc
meson
libasan
uncrustify
glibc-devel
glib2-devel
gtk4-devel
libadwaita-devel
libselinux-devel
gettext
libgexiv2-devel
localsearch
dbus-daemon
gnome-desktop4-devel
gnome-autoar-devel
libportal-devel
libportal-gtk4-devel
libcloudproviders-devel
GIT_SUBMODULE_STRATEGY: normal
MESON_BUILD_DIR: _build
CI_REGISTRY_IMAGE: registry.gitlab.gnome.org/gnome/nautilus
TARBALL_ARTIFACT_PATH: ".flatpak-builder/build/nautilus/_flatpak_build/meson-dist/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.tar.xz"
stages:
- image
- review
- test
- analyze
- deploy
- release
.vars-devel:
variables:
MANIFEST_PATH: "build-aux/flatpak/org.gnome.Nautilus.json"
FLATPAK_MODULE: "nautilus"
RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo"
APP_ID: "org.gnome.NautilusDevel"
BUNDLE: "nautilus-dev.flatpak"
rules:
# Disable tests for protected tags
- if: $CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED
variables:
CONFIG_OPTS: '--libdir=/app/lib -Dprofile=Devel -Dtests=none'
- when: always
workflow:
rules:
# Run merge request pipelines, for main or release branches, for manually
# triggered pipelines (source "web"), and tags, but not for translation updates
- if: ($CI_PIPELINE_SOURCE == "merge_request_event" ||
$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED ||
$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH ||
$CI_COMMIT_BRANCH =~ /^gnome-.*$/ ||
$CI_PIPELINE_SOURCE == "web") &&
$CI_COMMIT_TITLE !~ /^Update.*translation$/
.nautilus.fedora:
variables:
FDO_DISTRIBUTION_VERSION: rawhide
FDO_DISTRIBUTION_TAG: '2025-02-28'
FDO_DISTRIBUTION_COMPRESSION_FORMAT: zstd:chunked
flatpak@x86_64:
extends: ['.flatpak@x86_64', '.vars-devel']
flatpak@aarch64:
when: manual
rules:
- if: $CI_PROJECT_NAMESPACE == "GNOME" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
when: always
- allow_failure: true
extends: ['.flatpak@aarch64', '.vars-devel']
nightly@x86_64:
extends: '.publish_nightly'
needs: ['flatpak@x86_64']
nightly@aarch64:
extends: '.publish_nightly'
needs: ['flatpak@aarch64']
potfile:
extends:
- .fdo.distribution-image@fedora
- .nautilus.fedora
stage: review
script:
- data/check-potfiles.sh
style check:
extends:
- .fdo.distribution-image@fedora
- .nautilus.fedora
stage: review
artifacts:
name: 'Style check artifacts'
expose_as: 'Get style check diff here'
when: on_failure
paths:
- 'uncrustify.diff'
expire_in: 14 days
script:
- LANG=C.utf8 data/run-uncrustify.sh
- git diff --exit-code | tee uncrustify.diff
rules:
- if: $CI_COMMIT_BRANCH !~ /^gnome-.*$/
update image:
extends:
- .fdo.container-build@fedora
- .nautilus.fedora
stage: image
variables:
GIT_STRATEGY: none
FDO_DISTRIBUTION_PACKAGES: $DEPENDENCIES
FDO_DISTRIBUTION_EXEC: ".gitlab/image-script.sh"
CFLAGS: "-fno-omit-frame-pointer"
when: manual
rules:
- if: $CI_PROJECT_NAMESPACE != "GNOME"
when: never
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
- if: $CI_PIPELINE_SOURCE == "web"
asan:
extends:
- .fdo.distribution-image@fedora
- .nautilus.fedora
variables:
CFLAGS: "-fno-omit-frame-pointer"
LSAN_OPTIONS: suppressions=$CI_PROJECT_DIR/data/leak-suppress.txt
stage: analyze
rules:
- when: manual
allow_failure: true
script:
- meson setup -Db_sanitize=address -Dextensions=false -Dintrospection=false -Dtests=all $MESON_BUILD_DIR
- meson compile -C $MESON_BUILD_DIR
- meson test --suite display --suite displayless -C $MESON_BUILD_DIR
artifacts:
name: 'Address Sanitizer-built test results'
when: on_failure
paths:
- $MESON_BUILD_DIR/meson-logs/testlog.txt
reports:
junit: $MESON_BUILD_DIR/meson-logs/testlog.junit.xml
expire_in: 7 days
pages:
extends:
- .fdo.distribution-image@fedora
- .nautilus.fedora
stage: deploy
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PROJECT_NAMESPACE == "GNOME"
script:
- meson setup -Ddocs=true -Dextensions=false -Dtests=none $MESON_BUILD_DIR
- ninja -C $MESON_BUILD_DIR
- mv $MESON_BUILD_DIR/docs/reference/nautilus/ public/
artifacts:
paths:
- public/
expire_in: 2 days