VirtualBox

source: vbox/trunk/src/libs/libxml2-2.9.14/.gitlab-ci.yml@ 102654

Last change on this file since 102654 was 95312, checked in by vboxsync, 2 years ago

libs/{curl,libxml2}: OSE export fixes, bugref:8515

File size: 8.4 KB
Line 
1.test:
2 # The image was generated with the following Dockerfile. It is also used
3 # for libxslt, that's why we need git and libgcrypt-dev.
4 #
5 # FROM ubuntu:20.04
6 # ENV DEBIAN_FRONTEND=noninteractive
7 # RUN apt-get update && \
8 # apt-get upgrade -y && \
9 # apt-get install -y --no-install-recommends \
10 # curl git ca-certificates \
11 # autoconf automake libtool pkg-config \
12 # make gcc clang llvm \
13 # zlib1g-dev liblzma-dev libgcrypt-dev \
14 # python-dev python3-dev \
15 # cmake
16 # WORKDIR /tests
17 # RUN curl https://www.w3.org/XML/Test/xmlts20080827.tar.gz |tar xz
18 image: registry.gitlab.gnome.org/gnome/libxml2
19 script:
20 - |
21 ln -s /tests/xmlconf
22 sh autogen.sh $CONFIG
23 make -j$(nproc) V=1 CFLAGS="$CFLAGS -Werror"
24 make check
25
26gcc:
27 extends: .test
28 variables:
29 CFLAGS: "-O2 -std=c89 -D_XOPEN_SOURCE=700"
30
31gcc:python3:
32 extends: .test
33 only:
34 - schedules
35 variables:
36 CONFIG: "--with-python=/usr/bin/python3"
37 CFLAGS: "-O2"
38
39clang:asan:
40 extends: .test
41 variables:
42 CONFIG: "--without-python"
43 CC: clang
44 CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined,integer -fno-sanitize-recover=all -Wno-error=cast-align"
45 # LeakSanitizer requires SYS_CAP_PTRACE
46 ASAN_OPTIONS: "detect_leaks=0"
47 UBSAN_OPTIONS: "print_stacktrace=1"
48
49clang:msan:
50 extends: .test
51 only:
52 - schedules
53 variables:
54 CONFIG: "--without-python --without-zlib --without-lzma"
55 CC: clang
56 CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=memory -Wno-error=cast-align"
57
58.cmake:linux:
59 image: registry.gitlab.gnome.org/gnome/libxml2
60 script:
61 - cmake -DBUILD_SHARED_LIBS=$BUILD_SHARED_LIBS -DCMAKE_INSTALL_PREFIX=libxml2-install -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLIBXML2_XMLCONF_WORKING_DIR=/tests -S . -B libxml2-build
62 - cmake --build libxml2-build --target install
63 - mkdir -p libxml2-install/share/libxml2
64 - cp Copyright libxml2-install/share/libxml2
65 - cd libxml2-build
66 - ctest -VV
67 after_script:
68 - cd libxml2-install
69 - tar -czf ../libxml2-$CI_COMMIT_SHORT_SHA-$CC-$SUFFIX.tar.gz *
70 artifacts:
71 paths:
72 - libxml2-$CI_COMMIT_SHORT_SHA-$CC-$SUFFIX.tar.gz
73 expire_in: 1 day
74
75cmake:linux:gcc:shared:
76 extends: .cmake:linux
77 only:
78 - schedules
79 variables:
80 BUILD_SHARED_LIBS: "ON"
81 CC: gcc
82 SUFFIX: shared
83
84cmake:linux:gcc:static:
85 extends: .cmake:linux
86 only:
87 - schedules
88 variables:
89 BUILD_SHARED_LIBS: "OFF"
90 CC: gcc
91 SUFFIX: static
92
93cmake:linux:clang:shared:
94 extends: .cmake:linux
95 only:
96 - schedules
97 variables:
98 BUILD_SHARED_LIBS: "ON"
99 CC: clang
100 SUFFIX: shared
101
102cmake:linux:clang:static:
103 extends: .cmake:linux
104 only:
105 - schedules
106 variables:
107 BUILD_SHARED_LIBS: "OFF"
108 CC: clang
109 SUFFIX: static
110
111.cmake:mingw:
112 tags:
113 - win32-ps
114 before_script:
115 - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12"
116 - $Env:Path="C:\msys64\$Env:MINGW_PATH\bin;C:\msys64\usr\bin;$Env:Path"
117 - pacman --noconfirm -Syu
118 - pacman --noconfirm -S
119 $Env:MINGW_PACKAGE_PREFIX-cmake
120 $Env:MINGW_PACKAGE_PREFIX-libiconv
121 $Env:MINGW_PACKAGE_PREFIX-ninja
122 $Env:MINGW_PACKAGE_PREFIX-python
123 $Env:MINGW_PACKAGE_PREFIX-python2
124 $Env:MINGW_PACKAGE_PREFIX-xz
125 $Env:MINGW_PACKAGE_PREFIX-zlib
126 - if (-not (Test-Path 7za.exe)) {
127 Invoke-WebRequest -Uri https://www.7-zip.org/a/7z1900-extra.7z -OutFile 7z1900-extra.7z ;
128 cmake -E tar xf 7z1900-extra.7z 7za.exe
129 }
130 - if (-not (Test-Path libxml2-build/xmlconf)) {
131 Invoke-WebRequest -Uri https://www.w3.org/XML/Test/xmlts20080827.tar.gz -OutFile xmlts20080827.tar.gz ;
132 .\7za.exe x xmlts20080827.tar.gz -olibxml2-build
133 }
134 script:
135 - cmake -G Ninja -DBUILD_SHARED_LIBS="$Env:BUILD_SHARED_LIBS" -DCMAKE_INSTALL_PREFIX=libxml2-install -DCMAKE_BUILD_TYPE=RelWithDebInfo -S . -B libxml2-build
136 - cmake --build libxml2-build --target install
137 - New-Item -ItemType Directory libxml2-install\share\libxml2
138 - Copy-Item Copyright libxml2-install\share\libxml2
139 - cd libxml2-build
140 - ctest -VV
141 after_script:
142 - .\7za.exe a libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:MINGW_PACKAGE_PREFIX-$Env:SUFFIX.7z .\libxml2-install\*
143 cache:
144 key: "$MINGW_PACKAGE_PREFIX"
145 paths:
146 - libxml2-build/xmlconf/
147 - 7za.exe
148 artifacts:
149 paths:
150 - libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:MINGW_PACKAGE_PREFIX-$Env:SUFFIX.7z
151 expire_in: 1 day
152
153cmake:mingw:w64-i686:shared:
154 extends: .cmake:mingw
155 only:
156 - schedules
157 variables:
158 BUILD_SHARED_LIBS: "ON"
159 MINGW_PACKAGE_PREFIX: mingw-w64-i686
160 MINGW_PATH: mingw32
161 SUFFIX: shared
162
163cmake:mingw:w64-i686:static:
164 extends: .cmake:mingw
165 only:
166 - schedules
167 variables:
168 BUILD_SHARED_LIBS: "OFF"
169 MINGW_PACKAGE_PREFIX: mingw-w64-i686
170 MINGW_PATH: mingw32
171 SUFFIX: static
172
173cmake:mingw:w64-x86_64:shared:
174 extends: .cmake:mingw
175 variables:
176 BUILD_SHARED_LIBS: "ON"
177 MINGW_PACKAGE_PREFIX: mingw-w64-x86_64
178 MINGW_PATH: mingw64
179 SUFFIX: shared
180
181cmake:mingw:w64-x86_64:static:
182 extends: .cmake:mingw
183 only:
184 - schedules
185 variables:
186 BUILD_SHARED_LIBS: "OFF"
187 MINGW_PACKAGE_PREFIX: mingw-w64-x86_64
188 MINGW_PATH: mingw64
189 SUFFIX: static
190
191.cmake:msvc:
192 tags:
193 - win32-ps
194 variables:
195 CMAKE_VERSION: 3.19.4
196 before_script:
197 - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12"
198 - if (-not (Test-Path cmake-$Env:CMAKE_VERSION-win64-x64)) {
199 Invoke-WebRequest -Uri http://github.com/Kitware/CMake/releases/download/v$Env:CMAKE_VERSION/cmake-$Env:CMAKE_VERSION-win64-x64.zip -OutFile cmake-$Env:CMAKE_VERSION-win64-x64.zip ;
200 Expand-Archive cmake-$Env:CMAKE_VERSION-win64-x64.zip -DestinationPath .
201 }
202 - $Env:Path="$Env:CI_PROJECT_DIR\cmake-$Env:CMAKE_VERSION-win64-x64\bin;$Env:Path"
203 - if (-not (Test-Path 7za.exe)) {
204 Invoke-WebRequest -Uri https://www.7-zip.org/a/7z1900-extra.7z -OutFile 7z1900-extra.7z ;
205 cmake -E tar xf 7z1900-extra.7z 7za.exe
206 }
207 - if (-not (Test-Path libxml2-build/xmlconf)) {
208 Invoke-WebRequest -Uri https://www.w3.org/XML/Test/xmlts20080827.tar.gz -OutFile xmlts20080827.tar.gz ;
209 .\7za.exe x xmlts20080827.tar.gz -olibxml2-build
210 }
211 script:
212 - cmake -DBUILD_SHARED_LIBS="$Env:BUILD_SHARED_LIBS" -DCMAKE_INSTALL_PREFIX=libxml2-install -DLIBXML2_WITH_ICONV=OFF -DLIBXML2_WITH_LZMA=OFF -DLIBXML2_WITH_PYTHON=OFF -DLIBXML2_WITH_ZLIB=OFF -S . -B libxml2-build
213 - cmake --build libxml2-build --config Debug --target install
214 - cmake --build libxml2-build --config Release --target install
215 - New-Item -ItemType Directory libxml2-install\share\libxml2
216 - Copy-Item Copyright libxml2-install\share\libxml2
217 - cd libxml2-build
218 - ctest -C Debug -VV
219 - ctest -C Release -VV
220 after_script:
221 - .\7za.exe a libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:CMAKE_GENERATOR_TOOLSET-$Env:CMAKE_GENERATOR_PLATFORM-$Env:SUFFIX.7z .\libxml2-install\*
222 cache:
223 key: "msvc"
224 paths:
225 - cmake-$Env:CMAKE_VERSION-win64-x64/
226 - libxml2-build/xmlconf/
227 - 7za.exe
228 artifacts:
229 paths:
230 - libxml2-$Env:CI_COMMIT_SHORT_SHA-$Env:CMAKE_GENERATOR_TOOLSET-$Env:CMAKE_GENERATOR_PLATFORM-$Env:SUFFIX.7z
231 expire_in: 1 day
232
233.cmake:msvc:v141:
234 extends: .cmake:msvc
235 variables:
236 CMAKE_GENERATOR: Visual Studio 15 2017
237 CMAKE_GENERATOR_TOOLSET: v141
238
239.cmake:msvc:v141:x64:
240 extends: .cmake:msvc:v141
241 variables:
242 CMAKE_GENERATOR_PLATFORM: x64
243
244cmake:msvc:v141:x64:shared:
245 extends: .cmake:msvc:v141:x64
246 variables:
247 BUILD_SHARED_LIBS: "ON"
248 SUFFIX: shared
249
250cmake:msvc:v141:x64:static:
251 extends: .cmake:msvc:v141:x64
252 only:
253 - schedules
254 variables:
255 BUILD_SHARED_LIBS: "OFF"
256 SUFFIX: static
257
258.cmake:msvc:v141:x86:
259 extends: .cmake:msvc:v141
260 only:
261 - schedules
262 variables:
263 CMAKE_GENERATOR_PLATFORM: Win32
264
265cmake:msvc:v141:x86:shared:
266 extends: .cmake:msvc:v141:x86
267 only:
268 - schedules
269 variables:
270 BUILD_SHARED_LIBS: "ON"
271 SUFFIX: shared
272
273cmake:msvc:v141:x86:static:
274 extends: .cmake:msvc:v141:x86
275 variables:
276 BUILD_SHARED_LIBS: "OFF"
277 SUFFIX: static
278
279pages:
280 script:
281 - mkdir -p public
282 - cp -r doc/devhelp doc/tutorial doc/xmllint.html doc/xmlcatalog_man.html public
283 artifacts:
284 paths:
285 - public
286 exclude:
287 - public/devhelp/Makefile*
288 - public/devhelp/*.xsl
289 only:
290 - master@GNOME/libxml2
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette