include: 'https://gitlab.gnome.org/GNOME/citemplates/raw/master/flatpak/flatpak_ci_initiative.yml' variables: GIT_SUBMODULE_STRATEGY: normal stages: - image - review - test - analyze - deploy .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" workflow: rules: # run merge request pipelines and for main or release branches - if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /^gnome-.*$/ || $CI_PIPELINE_SOURCE == "web" 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: image: registry.gitlab.gnome.org/gnome/nautilus:latest stage: review script: - data/check-potfiles.sh style check: image: registry.gitlab.gnome.org/gnome/nautilus:latest 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: variables: STORAGE_DRIVER: vfs BUILDAH_FORMAT: docker BUILDAH_ISOLATION: chroot image: registry.fedoraproject.org/fedora:latest stage: image script: - dnf install -y buildah runc - buildah bud --tag $CI_REGISTRY_IMAGE -f .gitlab/Dockerfile - buildah tag $CI_REGISTRY_IMAGE "$CI_REGISTRY_IMAGE:v$CI_JOB_ID" - buildah login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - buildah push --creds $CI_REGISTRY_USER:$CI_REGISTRY_PASSWORD $CI_REGISTRY_IMAGE - buildah push --creds $CI_REGISTRY_USER:$CI_REGISTRY_PASSWORD "$CI_REGISTRY_IMAGE:v$CI_JOB_ID" when: manual rules: - if: $CI_PROJECT_NAMESPACE != "GNOME" when: never - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH - if: $CI_PIPELINE_SOURCE == "web" asan: variables: CFLAGS: "-fno-omit-frame-pointer -fsanitize=address" LSAN_OPTIONS: suppressions=$CI_PROJECT_DIR/data/leak-suppress.txt image: registry.gitlab.gnome.org/gnome/nautilus:latest stage: analyze rules: - when: manual allow_failure: true script: - meson setup -Dextensions=false -Dintrospection=false -Dtests=all _build - meson compile -C _build - meson test -C _build artifacts: name: 'Address Sanitizer-built test results' when: on_failure paths: - '_build/meson-logs/testlog.txt' reports: junit: '_build/meson-logs/testlog.junit.xml' expire_in: 7 days pages: image: registry.gitlab.gnome.org/gnome/nautilus:latest stage: deploy rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PROJECT_NAMESPACE == "GNOME" script: - meson setup -Ddocs=true -Dextensions=false -Dtests=none _build - ninja -C _build - mv _build/docs/reference/nautilus/ public/ artifacts: paths: - public/ expire_in: 2 days