ci.template revision d9d3a8d2
1d9d3a8d2Smrg{# You're looking at the template here, so you can ignore the below
2d9d3a8d2Smrg   warning. This is the right file to edit #}
3d9d3a8d2Smrg
4d9d3a8d2Smrg#####################################################
5d9d3a8d2Smrg#                                                   #
6d9d3a8d2Smrg#       THIS FILE IS GENERATED, DO NOT EDIT!        #
7d9d3a8d2Smrg#                                                   #
8d9d3a8d2Smrg# Generated with "ci-fairy generate-template", edit #
9d9d3a8d2Smrg# .gitlab-ci/ci.template and .gitlab-ci/config.yml  #
10d9d3a8d2Smrg# and rerun "ci-fairy generate-template" to change  #
11d9d3a8d2Smrg# this file.                                        #
12d9d3a8d2Smrg#                                                   #
13d9d3a8d2Smrg#####################################################
14d9d3a8d2Smrg
15d9d3a8d2Smrg.templates_sha: &template_sha 3d03cccd770c04e63b40325b42223495274d6a1d
16d9d3a8d2Smrg
17d9d3a8d2Smrginclude:
18d9d3a8d2Smrg  - project: 'freedesktop/ci-templates'
19d9d3a8d2Smrg    ref: *template_sha
20d9d3a8d2Smrg    file:
21d9d3a8d2Smrg      - '/templates/ci-fairy.yml'
22d9d3a8d2Smrg    {% for d in distributions %}
23d9d3a8d2Smrg      - '/templates/{{d.name}}.yml'
24d9d3a8d2Smrg    {% endfor %}
25d9d3a8d2Smrg
26d9d3a8d2Smrgstages:
27d9d3a8d2Smrg  - sanity check
28d9d3a8d2Smrg  - prep
29d9d3a8d2Smrg  - build
30d9d3a8d2Smrg
31d9d3a8d2Smrgvariables:
32d9d3a8d2Smrg  FDO_UPSTREAM_REPO: xorg/lib/libxcvt
33d9d3a8d2Smrg  MESON_BUILDDIR: "builddir"
34d9d3a8d2Smrg  NINJA_ARGS: ''
35d9d3a8d2Smrg  MESON_ARGS: ''
36d9d3a8d2Smrg  MESON_TEST_ARGS: ''
37d9d3a8d2Smrg  GIT_DEPTH: 1
38d9d3a8d2Smrg
39d9d3a8d2Smrg.policy:
40d9d3a8d2Smrg  retry:
41d9d3a8d2Smrg    max: 2
42d9d3a8d2Smrg    when:
43d9d3a8d2Smrg      - runner_system_failure
44d9d3a8d2Smrg      - stuck_or_timeout_failure
45d9d3a8d2Smrg  # cancel run when a newer version is pushed to the branch
46d9d3a8d2Smrg  interruptible: true
47d9d3a8d2Smrg
48d9d3a8d2Smrg
49d9d3a8d2Smrg# Re-generate the CI script and make sure it's the one currently checked in
50d9d3a8d2Smrg# If this job fails, re-generate the gitlab-ci.yml script, see
51d9d3a8d2Smrg# $SRCDIR/.gitlab-ci/generate-gitlab-ci.py
52d9d3a8d2Smrg#
53d9d3a8d2Smrgcheck-ci-script:
54d9d3a8d2Smrg  extends:
55d9d3a8d2Smrg    - .fdo.ci-fairy
56d9d3a8d2Smrg  stage: sanity check
57d9d3a8d2Smrg  script:
58d9d3a8d2Smrg    - ci-fairy generate-template --verify && exit 0 || true
59d9d3a8d2Smrg    - echo "Committed gitlab-ci.yml differs from generated gitlab-ci.yml. Please verify"
60d9d3a8d2Smrg    - exit 1
61d9d3a8d2Smrg
62d9d3a8d2Smrg#
63d9d3a8d2Smrg# Verify that commit messages are as expected, signed-off, etc.
64d9d3a8d2Smrg#
65d9d3a8d2Smrgcheck-commit:
66d9d3a8d2Smrg  extends:
67d9d3a8d2Smrg    - .fdo.ci-fairy
68d9d3a8d2Smrg  stage: sanity check
69d9d3a8d2Smrg  script:
70d9d3a8d2Smrg    - ci-fairy check-commits --signed-off-by --junit-xml=results.xml
71d9d3a8d2Smrg  except:
72d9d3a8d2Smrg    - master@xorg/lib/libxcvt
73d9d3a8d2Smrg  variables:
74d9d3a8d2Smrg    GIT_DEPTH: 100
75d9d3a8d2Smrg  artifacts:
76d9d3a8d2Smrg    reports:
77d9d3a8d2Smrg      junit: results.xml
78d9d3a8d2Smrg
79d9d3a8d2Smrg#
80d9d3a8d2Smrg# Verify that merge request has the "allow collaboration" checkbox ticked
81d9d3a8d2Smrg#
82d9d3a8d2Smrgcheck-merge-request:
83d9d3a8d2Smrg  extends:
84d9d3a8d2Smrg    - .fdo.ci-fairy
85d9d3a8d2Smrg  stage: sanity check
86d9d3a8d2Smrg  script:
87d9d3a8d2Smrg    - ci-fairy check-merge-request --require-allow-collaboration --junit-xml=results.xml
88d9d3a8d2Smrg  artifacts:
89d9d3a8d2Smrg    when: on_failure
90d9d3a8d2Smrg    reports:
91d9d3a8d2Smrg      junit: results.xml
92d9d3a8d2Smrg  allow_failure: true
93d9d3a8d2Smrg
94d9d3a8d2Smrg{% for d in distributions %}
95d9d3a8d2Smrg
96d9d3a8d2Smrg.{{d.name}}.{{d.version}}:
97d9d3a8d2Smrg  variables:
98d9d3a8d2Smrg    FDO_DISTRIBUTION_VERSION: '{{d.version}}'
99d9d3a8d2Smrg    FDO_DISTRIBUTION_TAG: '{{d.tag}}'
100d9d3a8d2Smrg
101d9d3a8d2Smrgprep-{{d.name}}-{{d.version}}:
102d9d3a8d2Smrg  extends:
103d9d3a8d2Smrg    - .fdo.container-build@{{d.name}}
104d9d3a8d2Smrg    - .{{d.name}}.{{d.version}}
105d9d3a8d2Smrg  stage: prep
106d9d3a8d2Smrg  variables:
107d9d3a8d2Smrg    FDO_DISTRIBUTION_PACKAGES: "{{' '.join(d.packages)}}"
108d9d3a8d2Smrg
109d9d3a8d2Smrgbuild-{{d.name}}-{{d.version}}:
110d9d3a8d2Smrg  extends:
111d9d3a8d2Smrg    - .fdo.distribution-image@{{d.name}}
112d9d3a8d2Smrg    - .{{d.name}}.{{d.version}}
113d9d3a8d2Smrg  stage: build
114d9d3a8d2Smrg  script:
115d9d3a8d2Smrg    - .gitlab-ci/meson-build.sh
116d9d3a8d2Smrg{% endfor %}
117