mirror of
https://gitlab.gnome.org/GNOME/nautilus
synced 2024-11-05 05:31:15 +00:00
c1169c8d9c
Running a pipeline for each translation update is wasting resources.
127 lines
3.9 KiB
YAML
127 lines
3.9 KiB
YAML
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, for main or release branches and for manually
|
|
# triggered pipelines (source "web"), but not for translation updates
|
|
- if: ($CI_PIPELINE_SOURCE == "merge_request_event" ||
|
|
$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH ||
|
|
$CI_COMMIT_BRANCH =~ /^gnome-.*$/ ||
|
|
$CI_PIPELINE_SOURCE == "web") &&
|
|
$CI_COMMIT_TITLE !~ /^Update.*translation$/
|
|
|
|
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
|