pixman-project.yml revision 14b11b2b
1# This file contains the set of jobs run by the pixman project:
2# https://gitlab.freedesktop.org/pixman/pixman/-/pipelines
3
4stages:
5  - docker
6  - build
7  - test
8  - summary
9
10variables:
11  # Docker image global configuration.
12  DOCKER_TAG: latest
13  DOCKER_IMAGE_NAME: registry.freedesktop.org/pixman/pixman/pixman:${DOCKER_TAG}
14
15  # Execute to load a target-specific environment.
16  LOAD_TARGET_ENV: source .gitlab-ci.d/01-docker/target-env/${TARGET}.env
17
18  # Enable/disable specific targets for code and platform coverage targets.
19  ACTIVE_TARGET_PATTERN: '/linux-386|linux-amd64|linux-arm-v5|linux-arm-v7|linux-arm64-v8|linux-mips|linux-mips64le|linux-mipsel|linux-ppc|linux-ppc64|linux-ppc64le|linux-riscv64|windows-686|windows-amd64|windows-arm64-v8/i'
20
21workflow:
22  rules:
23    # Use modified Docker image if building in MR and Docker image is affected
24    # by the MR.
25    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
26      changes:
27        paths:
28          - .gitlab-ci.d/01-docker.yml
29          - .gitlab-ci.d/01-docker/**/*
30      variables:
31        DOCKER_TAG: $CI_COMMIT_REF_SLUG
32        DOCKER_IMAGE_NAME: ${CI_REGISTRY_IMAGE}/pixman:${DOCKER_TAG}
33
34    # A standard set of GitLab CI triggers (i.e., MR, schedule, default branch,
35    # and tag).
36    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
37    - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
38      when: never
39    - if: $CI_PIPELINE_SOURCE == 'schedule'
40    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
41    - if: $CI_COMMIT_BRANCH
42    - if: $CI_COMMIT_TAG
43
44  auto_cancel:
45    on_new_commit: conservative
46    on_job_failure: all
47
48default:
49  tags:
50    - kvm
51
52  # Retry in case the runner is misconfigured for multi-arch builds or some
53  # random unexpected runner error occurs (it happened during testing).
54  retry: 1
55
56include:
57  - local: "/.gitlab-ci.d/templates/targets.yml"
58  - local: "/.gitlab-ci.d/01-docker.yml"
59  - local: "/.gitlab-ci.d/02-build.yml"
60  - local: "/.gitlab-ci.d/03-test.yml"
61  - local: "/.gitlab-ci.d/04-summary.yml"
62