02-build.yml revision 14b11b2b
1# Build stage
2#
3# This stage builds pixman with enabled coverage for all supported
4# architectures.
5#
6# Some targets don't support atomic profile update, so to decrease the number of
7# gcov errors, they need to be built without OpenMP (single threaded) by adding
8# `-Dopenmp=disabled` Meson argument.
9
10variables:
11  # Used in test stage as well.
12  BUILD_DIR: build-${TOOLCHAIN}
13
14# Applicable to all build targets.
15
16include:
17  - local: .gitlab-ci.d/templates/build.yml
18    inputs:
19      target: linux-386
20  - local: .gitlab-ci.d/templates/build.yml
21    inputs:
22      target: linux-amd64
23  - local: .gitlab-ci.d/templates/build-aarch64.yml
24    inputs:
25      target: linux-arm-v5
26      # Disable coverage, as the tests take too long to run with a single thread.
27      enable_gnu_coverage: false
28  - local: .gitlab-ci.d/templates/build-aarch64.yml
29    inputs:
30      target: linux-arm-v7
31  - local: .gitlab-ci.d/templates/build-aarch64.yml
32    inputs:
33      target: linux-arm64-v8
34  - local: .gitlab-ci.d/templates/build.yml
35    inputs:
36      target: linux-mips
37      toolchain: [gnu]  # TODO: https://gitlab.freedesktop.org/pixman/pixman/-/issues/105
38      qemu_cpu: 74Kf
39      enable_gnu_coverage: false
40  - local: .gitlab-ci.d/templates/build-kvm.yml
41    inputs:
42      target: linux-mips64le
43      qemu_cpu: Loongson-3A4000
44  - local: .gitlab-ci.d/templates/build-kvm.yml
45    inputs:
46      target: linux-mipsel
47      toolchain: [gnu]  # TODO: https://gitlab.freedesktop.org/pixman/pixman/-/issues/105
48      qemu_cpu: 74Kf
49      # Disable coverage, as the tests take too long to run with a single thread.
50      enable_gnu_coverage: false
51  - local: .gitlab-ci.d/templates/build.yml
52    inputs:
53      target: linux-ppc
54      qemu_cpu: g4
55      enable_gnu_coverage: false
56  - local: .gitlab-ci.d/templates/build.yml
57    inputs:
58      target: linux-ppc64
59      qemu_cpu: power9
60      enable_gnu_coverage: false
61  - local: .gitlab-ci.d/templates/build-kvm.yml
62    inputs:
63      target: linux-ppc64le
64      qemu_cpu: power10
65  - local: .gitlab-ci.d/templates/build-kvm.yml
66    inputs:
67      target: linux-riscv64
68      qemu_cpu: rv64
69  - local: .gitlab-ci.d/templates/build.yml
70    inputs:
71      target: windows-686
72      enable_gnu_coverage: false
73  - local: .gitlab-ci.d/templates/build.yml
74    inputs:
75      target: windows-amd64
76      enable_gnu_coverage: false
77  - local: .gitlab-ci.d/templates/build-aarch64.yml
78    inputs:
79      target: windows-arm64-v8
80      toolchain: [llvm]  # GNU toolchain doesn't seem to support Windows on ARM.
81      enable_gnu_coverage: false
82