nautilus/.gitlab-ci.yml
Ondrej Holy 57e2bbec47 ci: Fix flatpak master job
The flatpak master job fails currently. This is because it tries to rewrite
artifacts from flatpak devel job which fails with permission denied error,
because the runners are not more privileged. Let's use empty dependencies
for flatpak master job to ensure that the artifacts from flatpak devel
job are not passed in.
2020-03-06 12:29:02 +01:00

140 lines
3.6 KiB
YAML

include: 'https://gitlab.gnome.org/GNOME/citemplates/raw/master/flatpak/flatpak_ci_initiative.yml'
variables:
GIT_SUBMODULE_STRATEGY: normal
BUNDLE: "nautilus-dev.flatpak"
stages:
- triage
- test
- cross_environment
- deploy
.test_template: &distro_test
script:
- meson _build .
- cd _build
- ninja test
.flatpak_gcovr:
extends: .flatpak
after_script:
# Generate coverage report
- cd _build
- flatpak build ../app gcovr
--html-details
-o coverage.html
--print-summary
--root=.
--exclude=src/
--exclude=../data/
--exclude=../eel/check-program.c
--exclude=../eel/eel-debug.c
--exclude=../eel/eel-lib-self-check-functions.c
--exclude=../eel/eel-self-checks.c
--exclude=../src/animation/
--exclude=../src/gtk/
--exclude=../src/nautilus-lib-self-check-functions.c
--exclude=../src/nautilus-self-check-functions.c
--exclude=../subprojects/libgd/
--exclude=../test/
coverage: '/^branches:.*\s+(\S+\%).*$/'
artifacts:
when: 'always'
# overwrite the path array of the '.flatpak' job
paths:
- "${BUNDLE}"
- '_build/meson-logs/meson-log.txt'
- '_build/meson-logs/testlog.txt'
#- '_build/coverage.html'
expire_in: 2 days
flatpak devel:
extends: '.flatpak'
image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master
variables:
MANIFEST_PATH: "build-aux/flatpak/org.gnome.Nautilus.yml"
MESON_ARGS: "-Dprofile=Devel -Dtests=all"
FLATPAK_MODULE: "nautilus"
RUNTIME_REPO: "https://flathub.org/repo/flathub.flatpakrepo"
APP_ID: "org.gnome.NautilusDevel"
review:
dependencies:
- 'flatpak devel'
extends: '.review'
stop_review:
extends: '.stop_review'
nightly:
extends: '.publish_nightly'
dependencies:
- 'flatpak devel'
fedora rawhide:
image: fedora:rawhide
stage: cross_environment
before_script:
- dnf update -y --nogpgcheck
- dnf install -y 'dnf-command(builddep)' redhat-rpm-config libseccomp-devel gcovr --nogpgcheck
- dnf builddep -y nautilus --nogpgcheck
<<: *distro_test
only:
- schedules
- web
- tags
flatpak master:
stage: cross_environment
dependencies: []
variables:
MANIFEST_PATH: "build-aux/flatpak/org.gnome.NautilusMaster.yml"
MESON_ARGS: "-Dprofile=Devel -Dtests=all -Db_coverage=true"
FLATPAK_MODULE: "nautilus"
RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo"
APP_ID: "org.gnome.NautilusDevel"
extends: .flatpak
only:
- schedules
- web
- tags
.pages:
stage: deploy
dependencies:
- 'flatpak devel'
script:
- mkdir public
- mv _build/coverage.html ${CI_PROJECT_DIR}/public/index.html
artifacts:
paths:
- public
only:
- master
except:
variables:
# Don't run for translation commits
- $CI_COMMIT_TITLE =~ /^Update.*translation$/
triage:
image: ruby:2.4
stage: triage
script:
- gem install gitlab-triage
- gitlab-triage --token $TRIAGE_BOT_TOKEN --project-id $CI_PROJECT_PATH --host-url https://gitlab.gnome.org
only:
- schedules
triage:dry-run:
image: ruby:2.4
stage: triage
script:
- gem install gitlab-triage
- gitlab-triage --dry-run --token $TRIAGE_BOT_TOKEN --project-id $CI_PROJECT_PATH --host-url https://gitlab.gnome.org
only:
- schedules
when: manual