summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: a1dfe137568975fd465c7b1c9ae9ee27eacf1036 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
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
    - image
    - test
    - cross environment
    - deploy

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"

nightly:
    extends: '.publish_nightly'
    dependencies:
        - 'flatpak devel'

fedora rawhide:
    image: registry.gitlab.gnome.org/gnome/nautilus:latest
    stage: cross environment
    script:
        - meson _build .
        - cd _build
        - ninja 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"
        FLATPAK_MODULE: "nautilus"
        RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo"
        APP_ID: "org.gnome.NautilusDevel"
    extends: .flatpak
    only:
        - schedules
        - web
        - tags

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

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:
        - gcc data/lineup-parameters.c `pkg-config --cflags --libs gio-2.0 gio-unix-2.0` -o data/lineup-parameters
        - LANG=C.utf8 data/run-uncrustify.sh
        - git diff --exit-code | tee uncrustify.diff

update image:
    variables:
         DOCKER_TLS_CERTDIR: ""
    image: docker:latest
    stage: image
    tags:
        - privileged
    services:
        - docker:dind
    script:
        - docker build --tag $CI_REGISTRY_IMAGE .gitlab/
        - docker tag $CI_REGISTRY_IMAGE "$CI_REGISTRY_IMAGE:v$CI_JOB_ID"
        - docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
        - docker push $CI_REGISTRY_IMAGE
    when: manual
    only:
        variables:
            - $CI_PROJECT_NAMESPACE == "GNOME"