1.build:
2  extends:
3    - .build-rules
4    - .container+build-rules
5  stage: build
6  artifacts:
7    paths:
8      - artifacts
9  script:
10    - FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash drivers/gpu/drm/ci/build.sh
11
12.build:arm32:
13  extends:
14    - .build
15    - .use-debian/arm64_build
16  tags:
17    - aarch64
18  variables:
19    DEFCONFIG: "arch/arm/configs/multi_v7_defconfig"
20    KERNEL_IMAGE_NAME: "zImage"
21    KERNEL_ARCH: "arm"
22
23.build:arm64:
24  extends:
25    - .build
26    - .use-debian/arm64_build
27  tags:
28    - aarch64
29  variables:
30    DEFCONFIG: "arch/arm64/configs/defconfig"
31    KERNEL_IMAGE_NAME: "Image"
32    KERNEL_ARCH: "arm64"
33
34.build:x86_64:
35  extends:
36    - .build
37    - .use-debian/x86_64_build
38  variables:
39    DEFCONFIG: "arch/x86/configs/x86_64_defconfig"
40    KERNEL_IMAGE_NAME: "bzImage"
41    KERNEL_ARCH: "x86_64"
42
43
44# Build IGT for testing on devices
45
46igt:arm32:
47  extends: .build:arm32
48  script:
49    - FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash drivers/gpu/drm/ci/build-igt.sh
50
51igt:arm64:
52  extends: .build:arm64
53  script:
54    - FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash drivers/gpu/drm/ci/build-igt.sh
55
56igt:x86_64:
57  extends: .build:x86_64
58  script:
59    - FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash drivers/gpu/drm/ci/build-igt.sh
60
61# Build kernels for testing on devices
62
63testing:arm32:
64  extends: .build:arm32
65  variables:
66    # Would be good to have DEBUG_KMEMLEAK, but it doesn't work well with any of
67    # PROVE_LOCKING and KASAN as of 5.17.
68    #
69    # db410c and db820c don't boot with KASAN_INLINE, probably due to the kernel
70    # becoming too big for their bootloaders.
71    ENABLE_KCONFIGS: "PROVE_LOCKING DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT"
72    UPLOAD_TO_MINIO: 1
73    MERGE_FRAGMENT: arm.config
74
75testing:arm64:
76  extends: .build:arm64
77  variables:
78    # Would be good to have DEBUG_KMEMLEAK, but it doesn't work well with any of
79    # PROVE_LOCKING and KASAN as of 5.17.
80    #
81    # db410c and db820c don't boot with KASAN_INLINE, probably due to the kernel
82    # becoming too big for their bootloaders.
83    ENABLE_KCONFIGS: "PROVE_LOCKING DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT"
84    UPLOAD_TO_MINIO: 1
85    MERGE_FRAGMENT: arm64.config
86
87testing:x86_64:
88  extends: .build:x86_64
89  variables:
90    # Would be good to have DEBUG_KMEMLEAK, but it doesn't work well with any of
91    # PROVE_LOCKING and KASAN as of 5.17.
92    #
93    # db410c and db820c don't boot with KASAN_INLINE, probably due to the kernel
94    # becoming too big for their bootloaders.
95    ENABLE_KCONFIGS: "PROVE_LOCKING DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT"
96    UPLOAD_TO_MINIO: 1
97    MERGE_FRAGMENT: x86_64.config
98
99
100# Jobs for build-testing different configurations
101
102build:arm32:
103  extends: .build:arm32
104
105build-nodebugfs:arm64:
106  extends: .build:arm64
107  variables:
108    DISABLE_KCONFIGS: "DEBUG_FS"
109
110build:x86_64:
111  extends: .build:x86_64
112