2023-05-25 13:40:18 +00:00
|
|
|
include: 'https://gitlab.gnome.org/GNOME/citemplates/raw/master/flatpak/flatpak_ci_initiative.yml'
|
2018-12-05 15:44:41 +00:00
|
|
|
|
2018-03-18 13:40:35 +00:00
|
|
|
variables:
|
2018-05-04 08:42:41 +00:00
|
|
|
GIT_SUBMODULE_STRATEGY: normal
|
2018-03-18 13:40:35 +00:00
|
|
|
|
2018-03-16 14:51:02 +00:00
|
|
|
stages:
|
2020-03-26 09:26:58 +00:00
|
|
|
- image
|
2024-01-30 21:45:56 +00:00
|
|
|
- review
|
2018-05-04 08:42:41 +00:00
|
|
|
- test
|
2023-10-27 21:29:27 +00:00
|
|
|
- analyze
|
2018-05-06 17:25:32 +00:00
|
|
|
- deploy
|
2018-03-18 15:41:40 +00:00
|
|
|
|
2022-08-30 22:47:33 +00:00
|
|
|
.vars-devel:
|
2018-10-09 10:57:19 +00:00
|
|
|
variables:
|
2022-12-21 12:33:22 +00:00
|
|
|
MANIFEST_PATH: "build-aux/flatpak/org.gnome.Nautilus.json"
|
2018-10-09 10:57:19 +00:00
|
|
|
FLATPAK_MODULE: "nautilus"
|
2021-03-06 18:24:33 +00:00
|
|
|
RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo"
|
2018-12-05 15:44:41 +00:00
|
|
|
APP_ID: "org.gnome.NautilusDevel"
|
2022-08-30 22:47:33 +00:00
|
|
|
BUNDLE: "nautilus-dev.flatpak"
|
2018-05-06 17:25:32 +00:00
|
|
|
|
2023-12-12 23:33:25 +00:00
|
|
|
workflow:
|
|
|
|
rules:
|
2024-01-16 00:23:30 +00:00
|
|
|
# run merge request pipelines and for main or release branches
|
|
|
|
- if: $CI_PIPELINE_SOURCE == "merge_request_event" ||
|
|
|
|
$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH ||
|
2024-01-31 07:19:36 +00:00
|
|
|
$CI_COMMIT_BRANCH =~ /^gnome-.*$/ ||
|
|
|
|
$CI_PIPELINE_SOURCE == "web"
|
2023-12-12 23:33:25 +00:00
|
|
|
|
2022-08-30 22:47:33 +00:00
|
|
|
flatpak@x86_64:
|
|
|
|
extends: ['.flatpak@x86_64', '.vars-devel']
|
|
|
|
|
|
|
|
flatpak@aarch64:
|
2023-12-22 19:03:14 +00:00
|
|
|
when: manual
|
2023-01-19 08:38:55 +00:00
|
|
|
rules:
|
2023-12-22 19:55:24 +00:00
|
|
|
- if: $CI_PROJECT_NAMESPACE == "GNOME" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
|
|
when: always
|
2023-12-22 19:03:14 +00:00
|
|
|
- allow_failure: true
|
2022-08-30 22:47:33 +00:00
|
|
|
extends: ['.flatpak@aarch64', '.vars-devel']
|
|
|
|
|
|
|
|
nightly@x86_64:
|
|
|
|
extends: '.publish_nightly'
|
|
|
|
needs: ['flatpak@x86_64']
|
|
|
|
|
|
|
|
nightly@aarch64:
|
2019-09-28 22:07:36 +00:00
|
|
|
extends: '.publish_nightly'
|
2022-08-30 22:47:33 +00:00
|
|
|
needs: ['flatpak@aarch64']
|
2019-09-28 22:07:36 +00:00
|
|
|
|
2024-01-30 21:45:56 +00:00
|
|
|
potfile:
|
|
|
|
image: registry.gitlab.gnome.org/gnome/nautilus:latest
|
|
|
|
stage: review
|
|
|
|
script:
|
|
|
|
- data/check-potfiles.sh
|
|
|
|
|
2020-02-03 16:19:45 +00:00
|
|
|
style check:
|
2020-09-07 09:24:01 +00:00
|
|
|
image: registry.gitlab.gnome.org/gnome/nautilus:latest
|
2024-02-22 21:29:23 +00:00
|
|
|
stage: review
|
2020-03-26 09:38:09 +00:00
|
|
|
artifacts:
|
|
|
|
name: 'Style check artifacts'
|
|
|
|
expose_as: 'Get style check diff here'
|
|
|
|
when: on_failure
|
|
|
|
paths:
|
|
|
|
- 'uncrustify.diff'
|
|
|
|
expire_in: 14 days
|
2020-02-03 16:19:45 +00:00
|
|
|
script:
|
|
|
|
- LANG=C.utf8 data/run-uncrustify.sh
|
2020-03-26 09:38:09 +00:00
|
|
|
- git diff --exit-code | tee uncrustify.diff
|
2023-01-19 08:38:55 +00:00
|
|
|
rules:
|
|
|
|
- if: $CI_COMMIT_BRANCH !~ /^gnome-.*$/
|
2020-03-26 09:26:58 +00:00
|
|
|
|
|
|
|
update image:
|
|
|
|
variables:
|
2020-11-19 09:21:15 +00:00
|
|
|
STORAGE_DRIVER: vfs
|
|
|
|
BUILDAH_FORMAT: docker
|
|
|
|
BUILDAH_ISOLATION: chroot
|
2021-10-08 10:55:56 +00:00
|
|
|
image: registry.fedoraproject.org/fedora:latest
|
2020-03-26 09:26:58 +00:00
|
|
|
stage: image
|
|
|
|
script:
|
2020-11-19 09:21:15 +00:00
|
|
|
- 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
|
2021-10-08 10:55:56 +00:00
|
|
|
- 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"
|
2020-03-26 09:26:58 +00:00
|
|
|
when: manual
|
2023-01-19 08:38:55 +00:00
|
|
|
rules:
|
|
|
|
- if: $CI_PROJECT_NAMESPACE != "GNOME"
|
|
|
|
when: never
|
|
|
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
|
|
- if: $CI_PIPELINE_SOURCE == "web"
|
2023-01-09 19:26:13 +00:00
|
|
|
|
2023-10-27 21:29:27 +00:00
|
|
|
asan:
|
|
|
|
variables:
|
|
|
|
CFLAGS: "-fno-omit-frame-pointer -fsanitize=address"
|
2023-11-12 23:25:07 +00:00
|
|
|
LSAN_OPTIONS: suppressions=$CI_PROJECT_DIR/data/leak-suppress.txt
|
2023-10-27 21:29:27 +00:00
|
|
|
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
|
|
|
|
|
2023-01-09 19:26:13 +00:00
|
|
|
pages:
|
|
|
|
image: registry.gitlab.gnome.org/gnome/nautilus:latest
|
|
|
|
stage: deploy
|
2023-01-19 08:38:55 +00:00
|
|
|
rules:
|
2023-01-20 14:06:09 +00:00
|
|
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PROJECT_NAMESPACE == "GNOME"
|
2023-01-09 19:26:13 +00:00
|
|
|
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
|