blob: 53b89c37eb265152a3341db1b38207de6518e6d8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
# IMAGE_TAG is the tag of the docker image used for the build jobs. If the
# image doesn't exist yet, the docker-image stage generates it.
#
# In order to generate a new image, one should generally change the tag.
# While removing the image from the registry would also work, that's not
# recommended except for ephemeral images during development: Replacing an
# image after a significant amount of time might pull in newer versions of
# gcc/clang or other packages, which might break the build with older commits
# using the same tag.
#
# After merging a change resulting in generating a new image to the main
# repository, it's recommended to remove the image from the source repository's
# container registry, so that the image from the main repository's registry
# will be used there as well.
variables:
IMAGE_TAG: "debian-testing-20181213"
IMAGE_LOCAL: "$CI_REGISTRY_IMAGE:$IMAGE_TAG"
IMAGE_MAIN: "registry.freedesktop.org/xorg/driver/xf86-video-amdgpu:$IMAGE_TAG"
stages:
- docker-image
- build
debian-testing:
stage: docker-image
only:
changes:
- .gitlab-ci.yml
- .gitlab-ci/Dockerfile
image:
name: gcr.io/kaniko-project/executor:debug
entrypoint: [""]
script:
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
- mkdir kaniko-context
- |
echo "FROM $IMAGE_LOCAL" > kaniko-context/Dockerfile
# If the image exists in the local registry, skip to the build-and-test job
set +e
set -x
/kaniko/executor --context kaniko-context --no-push && exit 0
set +x
set -e
- |
echo "FROM $IMAGE_MAIN" > kaniko-context/Dockerfile
# Try to re-use the image from the main repository's registry, and if
# that fails, generate a local image from scratch
set +e
set -x
/kaniko/executor --context kaniko-context --destination $IMAGE_LOCAL && exit 0
set +x
set -e
- /kaniko/executor --context $CI_PROJECT_DIR/.gitlab-ci --destination $IMAGE_LOCAL
image: $IMAGE_LOCAL
# The default build instructions
.default_build:
stage: build
script:
- ./autogen.sh
- make -j$(nproc) check V=1
variables:
CFLAGS: "-pipe -g -O2 -Werror"
ACLOCAL_PATH: /usr/local/xserver-$XSERVER_VERSION/share/aclocal
PKG_CONFIG_PATH: /usr/local/xserver-$XSERVER_VERSION/lib/pkgconfig
xserver-1.20:
extends: .default_build
script:
- ./autogen.sh
- make -j$(nproc) check V=1
- make install V=1
- make -j$(nproc) distcheck
variables:
XSERVER_VERSION: "1.20"
xserver-1.20-clang:
extends: .default_build
variables:
CC: clang
XSERVER_VERSION: "1.20"
xserver-1.13:
extends: .default_build
script:
- ./autogen.sh --disable-glamor
- make -j$(nproc) check V=1
variables:
XSERVER_VERSION: "1.13"
xserver-1.14:
extends: xserver-1.13
variables:
XSERVER_VERSION: "1.14"
xserver-1.15:
extends: xserver-1.14
variables:
XSERVER_VERSION: "1.15"
xserver-1.16:
extends: .default_build
variables:
XSERVER_VERSION: "1.16"
xserver-1.17:
extends: .default_build
variables:
XSERVER_VERSION: "1.17"
xserver-1.18:
extends: .default_build
variables:
XSERVER_VERSION: "1.18"
xserver-1.18-clang:
extends: xserver-1.18
variables:
CC: clang
xserver-1.19:
extends: .default_build
variables:
XSERVER_VERSION: "1.19"
xserver-1.19-clang:
extends: xserver-1.19
variables:
CC: clang
|