• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1.test:
2  image: registry.gitlab.gnome.org/gnome/libxml2
3  variables:
4    BASE_CONFIG: "--with-legacy"
5  before_script:
6    - rm -rf libxml2-build
7    - mkdir libxml2-build
8    - ln -s /tests/xmlconf libxml2-build
9  script:
10    - sh .gitlab-ci/test.sh
11
12gcc:
13  extends: .test
14  variables:
15    CFLAGS: "-O2"
16
17gcc:c89:
18  extends: .test
19  variables:
20    CONFIG: "--without-python"
21    CFLAGS: "-O2 -std=c89 -D_XOPEN_SOURCE=600 -Wno-error=unused-function"
22
23gcc:minimum:
24  extends: .test
25  variables:
26    BASE_CONFIG: "--with-minimum"
27    CFLAGS: "-O2"
28
29gcc:medium:
30  extends: .test
31  variables:
32    BASE_CONFIG: "--with-minimum"
33    CONFIG: "--with-threads --with-tree --with-xpath --with-output --with-html --with-iso8859x --with-valid"
34    CFLAGS: "-O2"
35
36gcc:legacy:
37  extends: .test
38  only:
39    - schedules
40  variables:
41    BASE_CONFIG: "--with-legacy"
42    CFLAGS: "-O2"
43
44gcc:static:
45  extends: .test
46  variables:
47    CONFIG: "--disable-shared --without-python --without-modules"
48    CFLAGS: "-O2"
49
50clang:asan:
51  extends: .test
52  tags:
53    - asan
54  variables:
55    CONFIG: "--without-python"
56    CC: clang
57    CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined,integer -fno-sanitize-recover=all"
58    UBSAN_OPTIONS: "print_stacktrace=1"
59    ASAN_SYMBOLIZER_PATH: "$CI_PROJECT_DIR/.gitlab-ci/llvm-symbolizer"
60
61clang:msan:
62  extends: .test
63#  only:
64#    - schedules
65  variables:
66    CONFIG: "--without-python --without-zlib --without-lzma"
67    CC: clang
68    CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=memory"
69    MSAN_SYMBOLIZER_PATH: "$CI_PROJECT_DIR/.gitlab-ci/llvm-symbolizer"
70
71.mingw:
72  tags:
73    - win32-ps
74  variables:
75    BASE_CONFIG: "--with-legacy"
76    # Disabled for now, see #658
77    CONFIG: "--without-python"
78    CHERE_INVOKING: "yes"
79  before_script:
80    - $Env:Path="C:\msys64\usr\bin;$Env:Path"
81    - bash -lc 'sh .gitlab-ci/setup_mingw.sh autotools'
82  script:
83    - bash -lc 'sh .gitlab-ci/test.sh'
84  cache:
85    key: "$MSYSTEM"
86    paths:
87      - libxml2-build/xmlconf/
88
89mingw:w64-x86_64:shared:
90  extends: .mingw
91  variables:
92    CFLAGS: "-O2"
93    MSYSTEM: MINGW64
94
95mingw:w64-i686:shared:
96  extends: .mingw
97  only:
98    - schedules
99  variables:
100    CFLAGS: "-O2"
101    MSYSTEM: MINGW32
102
103# Disabled, GCC missing?
104.mingw:msys:shared:
105  extends: .mingw
106  variables:
107    CFLAGS: "-O2"
108    MSYSTEM: MSYS
109
110.cmake:linux:
111  image: registry.gitlab.gnome.org/gnome/libxml2
112  before_script:
113    - rm -rf libxml2-build
114    - mkdir libxml2-build
115    - ln -s /tests/xmlconf libxml2-build
116  script:
117    - sh .gitlab-ci/test_cmake.sh
118  artifacts:
119    paths:
120      - libxml2-$CI_COMMIT_SHORT_SHA-$SUFFIX.tar.gz
121    expire_in: 1 day
122
123cmake:linux:gcc:shared:
124  extends: .cmake:linux
125  variables:
126    BUILD_SHARED_LIBS: "ON"
127    CC: gcc
128    SUFFIX: linux-gcc-shared
129
130cmake:linux:gcc:static:
131  extends: .cmake:linux
132  only:
133    - schedules
134  variables:
135    BUILD_SHARED_LIBS: "OFF"
136    CC: gcc
137    SUFFIX: linux-gcc-static
138
139cmake:linux:clang:shared:
140  extends: .cmake:linux
141  only:
142    - schedules
143  variables:
144    BUILD_SHARED_LIBS: "ON"
145    CC: clang
146    SUFFIX: linux-clang-shared
147
148cmake:linux:clang:static:
149  extends: .cmake:linux
150  only:
151    - schedules
152  variables:
153    BUILD_SHARED_LIBS: "OFF"
154    CC: clang
155    SUFFIX: linux-clang-static
156
157# cmake:mingw is currently broken for unknown reasons.
158#
159# Executing /mingw64/bin/cmake.exe with any arguments fails without error
160# message and exit code 127 since 2025-01-21.
161
162.cmake:mingw:
163  tags:
164    - win32-ps
165  variables:
166    CHERE_INVOKING: "yes"
167  before_script:
168    - $Env:Path="C:\msys64\usr\bin;$Env:Path"
169    - bash -lc 'sh .gitlab-ci/setup_mingw.sh cmake ninja'
170  script:
171    - bash -lc 'sh .gitlab-ci/test_cmake.sh -G Ninja'
172  cache:
173    key: "$MSYSTEM"
174    paths:
175      - libxml2-build/xmlconf/
176  artifacts:
177    paths:
178      - libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:SUFFIX.tar.gz
179    expire_in: 1 day
180
181cmake:mingw:w64-i686:shared:
182  extends: .cmake:mingw
183  only:
184    - schedules
185  variables:
186    BUILD_SHARED_LIBS: "ON"
187    MSYSTEM: MINGW32
188    SUFFIX: mingw-w64-i686-shared
189
190cmake:mingw:w64-i686:static:
191  extends: .cmake:mingw
192  only:
193    - schedules
194  variables:
195    BUILD_SHARED_LIBS: "OFF"
196    MSYSTEM: MINGW32
197    SUFFIX: mingw-w64-i686-static
198
199cmake:mingw:w64-x86_64:shared:
200  extends: .cmake:mingw
201  only:
202    - schedules
203  variables:
204    BUILD_SHARED_LIBS: "ON"
205    MSYSTEM: MINGW64
206    SUFFIX: mingw-w64-x86_64-shared
207
208cmake:mingw:w64-x86_64:static:
209  extends: .cmake:mingw
210  only:
211    - schedules
212  variables:
213    BUILD_SHARED_LIBS: "OFF"
214    MSYSTEM: MINGW64
215    SUFFIX: mingw-w64-x86_64-static
216
217.cmake:msvc:
218  tags:
219    - win32-ps
220  variables:
221    # MSVC warns when casting `const char **` to `void *` which is wrong.
222    # Disable warning C4090.
223    CFLAGS: /WX /wd4090
224    CMAKE_VERSION: 3.19.4
225  script:
226    - .gitlab-ci/Test-Msvc
227  cache:
228    key: "msvc"
229    paths:
230      - cmake-$Env:CMAKE_VERSION-win64-x64/
231      - libxml2-build/xmlconf/
232      - 7za.exe
233  artifacts:
234    paths:
235      - libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:CMAKE_GENERATOR_TOOLSET-$Env:CMAKE_GENERATOR_PLATFORM-$Env:SUFFIX.7z
236    expire_in: 1 day
237
238.cmake:msvc:v141:
239  extends: .cmake:msvc
240  variables:
241    CMAKE_GENERATOR: Visual Studio 15 2017
242    CMAKE_GENERATOR_TOOLSET: v141
243
244.cmake:msvc:v141:x64:
245  extends: .cmake:msvc:v141
246  variables:
247    CMAKE_GENERATOR_PLATFORM: x64
248
249cmake:msvc:v141:x64:shared:
250  extends: .cmake:msvc:v141:x64
251  variables:
252    BUILD_SHARED_LIBS: "ON"
253    SUFFIX: shared
254
255cmake:msvc:v141:x64:static:
256  extends: .cmake:msvc:v141:x64
257  only:
258    - schedules
259  variables:
260    BUILD_SHARED_LIBS: "OFF"
261    SUFFIX: static
262
263.cmake:msvc:v141:x86:
264  extends: .cmake:msvc:v141
265  only:
266    - schedules
267  variables:
268    CMAKE_GENERATOR_PLATFORM: Win32
269
270cmake:msvc:v141:x86:shared:
271  extends: .cmake:msvc:v141:x86
272  only:
273    - schedules
274  variables:
275    BUILD_SHARED_LIBS: "ON"
276    SUFFIX: shared
277
278cmake:msvc:v141:x86:static:
279  extends: .cmake:msvc:v141:x86
280  variables:
281    BUILD_SHARED_LIBS: "OFF"
282    SUFFIX: static
283
284meson:
285  image: registry.gitlab.gnome.org/gnome/libxml2
286  script:
287    - sh .gitlab-ci/test_meson.sh
288
289cmake:linux:gcc:shared:
290  extends: .cmake:linux
291  variables:
292    BUILD_SHARED_LIBS: "ON"
293    CC: gcc
294    SUFFIX: linux-gcc-shared
295
296dist:
297  image: registry.gitlab.gnome.org/gnome/libxml2
298  script:
299    - sh .gitlab-ci/dist.sh
300  artifacts:
301    paths:
302      - libxml2-dist/*.tar.xz
303
304pages:
305  script:
306    - mkdir -p public
307    - cp -r doc/devhelp doc/xmllint.html doc/xmlcatalog.html public
308  artifacts:
309    paths:
310      - public
311    exclude:
312      - public/devhelp/Makefile*
313      - public/devhelp/*.xsl
314  only:
315    - master@GNOME/libxml2
316
317downstream-nokogiri:
318  # owner: @flavorjones
319  image: ghcr.io/sparklemotion/nokogiri-test:upstream-libxml
320  script:
321    - .gitlab-ci/downstream-nokogiri.sh
322
323downstream-perl:
324  image: registry.gitlab.gnome.org/gnome/libxml2
325  script:
326    - sh .gitlab-ci/downstream-perl.sh
327