summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 6821f4b73781a7beece9da802a5d916bfb7e5126 (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
include: 'https://gitlab.gnome.org/GNOME/citemplates/-/raw/8430bccd6150b0a2aa97d1d7028c28b6b7e5d4d0/flatpak/flatpak_ci_initiative.yml'

variables:
    GIT_SUBMODULE_STRATEGY: normal

stages:
    - image
    - test
    - 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"

flatpak@x86_64:
    extends: ['.flatpak@x86_64', '.vars-devel']

flatpak@aarch64:
    rules:
        # https://docs.gitlab.com/ee/ci/jobs/job_control.html#avoid-duplicate-pipelines
        - if: $CI_PIPELINE_SOURCE == "merge_request_event"
          when: never
        - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PROJECT_NAMESPACE == "GNOME"
        - when: manual
          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']

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:
        # https://docs.gitlab.com/ee/ci/jobs/job_control.html#avoid-duplicate-pipelines
        - if: $CI_PIPELINE_SOURCE == "merge_request_event"
          when: never
        - 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"

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