1# The CI jobs defined here require GitLab runners installed and
2# registered on machines that match their operating system names,
3# versions and architectures.  This is in contrast to the other CI
4# jobs that are intended to run on GitLab's "shared" runners.
5
6# Different than the default approach on "shared" runners, based on
7# containers, the custom runners have no such *requirement*, as those
8# jobs should be capable of running on operating systems with no
9# compatible container implementation, or no support from
10# gitlab-runner.  To avoid problems that gitlab-runner can cause while
11# reusing the GIT repository, let's enable the clone strategy, which
12# guarantees a fresh repository on each job run.
13
14# All custom runners can extend this template to upload the testlog
15# data as an artifact and also feed the junit report
16.custom_runner_template:
17  extends: .base_job_template
18  variables:
19    GIT_STRATEGY: clone
20    GIT_FETCH_EXTRA_FLAGS: --no-tags --prune --quiet
21  artifacts:
22    name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
23    expire_in: 7 days
24    when: always
25    paths:
26      - build/build.ninja
27      - build/meson-logs
28    reports:
29      junit: build/meson-logs/testlog.junit.xml
30
31include:
32  - local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-s390x.yml'
33  - local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch64.yml'
34  - local: '/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch32.yml'
35  - local: '/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml'
36