mirror of
https://gitlab.gnome.org/GNOME/nautilus
synced 2024-10-02 14:03:39 +00:00
c387235f61
The manually started pipelines over the Run pipeline button are currently blocked. Let's enable them again so one can e.g test Dockerfile changes without merging them first.
126 lines
3.8 KiB
YAML
126 lines
3.8 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 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: test
|
|
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
|