3 image: $CI_REGISTRY/ntpsec/ntpsec/alpine-pages
5 - python3 ./waf configure --prefix=/tmp/docbot-local --htmldir=`pwd`/public/latest/ --enable-doc --disable-manpage build install
6 - cp www/favicon.ico public
7 - cp docs/top.html.in public/index.html
8 - cp docs/top-asciidoc.css public/asciidoc.css
9 - mv public/latest/404.html public/404.html
10 - sed -i -E -e 's!\./(asciidoc\.(js|css))!\./latest/\1!g' public/404.html
11 - find public -type f -iregex '.*\.\(htm\|html\|txt\|text\|js\|css\)$' -execdir gzip -f --keep {} \;
19 - template: Code-Quality.gitlab-ci.yml
20 - template: SAST.gitlab-ci.yml
21 - local: '.gitlab-opttest-ci.yml'
22 - local: '.gitlab-docker-ci.yml'
24 .job_template: &job_definition
27 - if: '$CI_PIPELINE_SOURCE != "schedule"'
33 image: $CI_REGISTRY/ntpsec/ntpsec/alpine
35 - python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
36 - python3 ./waf install
37 - python3 ./waf uninstall
41 image: $CI_REGISTRY/ntpsec/ntpsec/alpine
43 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all build
48 image: $CI_REGISTRY/ntpsec/ntpsec/alpine-edge
50 - python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
51 - python3 ./waf install
52 - python3 ./waf uninstall
54 alpine-edge-refclocks:
57 image: $CI_REGISTRY/ntpsec/ntpsec/alpine-edge
59 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all build
65 - yum -y install bison gcc openssl-devel libcap-devel pps-tools-devel python3-devel wget libxslt docbook-style-xsl
67 - wget https://asciidoc3.org/asciidoc3-3.2.3.tar.gz
68 - tar -xpvf asciidoc3-3.2.3.tar.gz -C asciidoc3
69 - ln -sv a2x3.py asciidoc3/a2x3
70 - ln -sv asciidoc3.py asciidoc3/asciidoc3
71 - asciidoc3/asciidoc3 --version || echo -n
72 - PATH="$PWD/asciidoc3:$PATH" python3 ./waf configure --enable-doc --enable-manpage build
76 image: $CI_REGISTRY/ntpsec/ntpsec/alpine
78 - apk update && apk add python3-dev asciidoc
79 - python3 ./waf configure --enable-doc --enable-manpage build
85 - apk update && apk add gcc bison musl-dev openssl-dev libcap-dev python3-dev pythonispython3
86 - python ./waf configure --disable-doc --disable-manpage build
88 AsciiDoc-classic3-Debian-Old:
90 image: $CI_REGISTRY/ntpsec/ntpsec/debian-oldstable
93 - DEBIAN_FRONTEND="noninteractive" apt-get install -y python3-dev asciidoc-base
94 - python3 ./waf configure --enable-doc --enable-manpage build --disable-nts
96 AsciiDoc-classic2-Debian-Old:
98 image: $CI_REGISTRY/ntpsec/ntpsec/debian-oldstable
101 - DEBIAN_FRONTEND="noninteractive" apt-get install -y python2-dev asciidoc-base
102 - python2 ./waf configure --enable-doc --enable-manpage build --disable-nts
104 debian-oldstable-basic:
106 image: $CI_REGISTRY/ntpsec/ntpsec/debian-oldstable
108 - python3 ./waf configure --disable-doc --disable-manpage --disable-nts build --pyshebang "/usr/bin/env python3"
109 - python3 ./waf install
110 - python3 ./waf uninstall
112 debian-oldstable-refclocks:
114 image: $CI_REGISTRY/ntpsec/ntpsec/debian-oldstable
116 - python3 ./waf configure --disable-doc --disable-manpage --disable-nts --refclock=all build
120 image: $CI_REGISTRY/ntpsec/ntpsec/debian-stable
122 - python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
123 - python3 ./waf install
124 - python3 ./waf uninstall
126 debian-stable-refclocks:
128 image: $CI_REGISTRY/ntpsec/ntpsec/debian-stable
130 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all build
132 debian-testing-basic:
134 image: $CI_REGISTRY/ntpsec/ntpsec/debian-testing
136 - python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
137 - python3 ./waf install
138 - python3 ./waf uninstall
140 debian-testing-refclocks:
142 image: $CI_REGISTRY/ntpsec/ntpsec/debian-testing
144 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all build
146 debian-unstable-basic:
149 image: $CI_REGISTRY/ntpsec/ntpsec/debian-unstable
151 - python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
152 - python3 ./waf install
153 - python3 ./waf uninstall
155 debian-unstable-refclocks:
158 image: $CI_REGISTRY/ntpsec/ntpsec/debian-unstable
160 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all build
164 image: $CI_REGISTRY/ntpsec/ntpsec/ubuntu-latest
166 - python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
167 - python3 ./waf install
168 - python3 ./waf uninstall
170 ubuntu-latest-refclocks:
172 image: $CI_REGISTRY/ntpsec/ntpsec/ubuntu-latest
174 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all build
179 image: $CI_REGISTRY/ntpsec/ntpsec/ubuntu-devel
181 - python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
182 - python3 ./waf install
183 - python3 ./waf uninstall
185 ubuntu-devel-refclocks:
188 image: $CI_REGISTRY/ntpsec/ntpsec/ubuntu-devel
190 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all build
192 ubuntu-rolling-basic:
194 image: $CI_REGISTRY/ntpsec/ntpsec/ubuntu-rolling
196 - python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
197 - python3 ./waf install
198 - python3 ./waf uninstall
200 ubuntu-rolling-refclocks:
202 image: $CI_REGISTRY/ntpsec/ntpsec/ubuntu-rolling
204 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all build
209 - python ./waf configure --disable-doc --disable-manpage build
210 - DESTDIR=build/prison python ./waf install
211 - DESTDIR=./prison python ./waf install
212 - DESTDIR=../prison python ./waf install
213 - rm -rvf build/prison ./prison ../prison
217 - if: '$CI_COMMIT_BRANCH && $CI_PROJECT_PATH == "NTPsec/ntpsec"'
222 - python ./waf configure --disable-doc --disable-manpage --refclock=all build
226 - if: '$CI_COMMIT_BRANCH && $CI_PROJECT_PATH == "NTPsec/ntpsec"'
230 image: $CI_REGISTRY/ntpsec/ntpsec/centos-latest
232 - python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
233 - python3 ./waf install
234 - python3 ./waf uninstall
236 centos-latest-refclocks:
238 image: $CI_REGISTRY/ntpsec/ntpsec/centos-latest
240 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all build
244 image: $CI_REGISTRY/ntpsec/ntpsec/fedora-latest
246 - python3 ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
247 - python3 ./waf install
248 - python3 ./waf uninstall
250 fedora-latest-refclocks:
252 image: $CI_REGISTRY/ntpsec/ntpsec/fedora-latest
254 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all build
258 image: $CI_REGISTRY/ntpsec/ntpsec/python3
260 - python ./waf configure --disable-doc --disable-manpage --refclock=all build
265 - apt-get update -qq && apt-get install -y -qq netbase bison python-dev-is-python3 python3-coverage
266 - python ./waf configure --disable-doc --disable-manpage build
267 - for i in build/main/tests/pylib/test_*; do python3-coverage run -a --source build/main/pylib "$i"; done
268 - python3-coverage report
272 image: $CI_REGISTRY/ntpsec/ntpsec/clang
274 - python3 ./waf configure --disable-doc --disable-manpage --check-c-compiler=clang build --pyshebang "/usr/bin/env python3"
275 - python3 ./waf install
276 - python3 ./waf uninstall
280 image: $CI_REGISTRY/ntpsec/ntpsec/clang
282 - python3 ./waf configure --disable-doc --disable-manpage --check-c-compiler=clang --refclock=all build
286 image: $CI_REGISTRY/ntpsec/ntpsec/opensuse-leap
288 - python3 ./waf configure --disable-doc --disable-manpage --disable-nts build --pyshebang "/usr/bin/env python3"
289 - python3 ./waf install
290 - python3 ./waf uninstall
292 openSUSE-leap-refclocks:
294 image: $CI_REGISTRY/ntpsec/ntpsec/opensuse-leap
296 - python3 ./waf configure --disable-doc --disable-manpage --disable-nts --refclock=all build
298 # debian-stable-basic-32bit:
299 # <<: *job_definition
300 # image: $CI_REGISTRY/ntpsec/ntpsec/debian-stable-i386
302 # - python ./waf configure --disable-doc --disable-manpage build
304 # debian-stable-refclocks-32bit:
305 # <<: *job_definition
306 # image: $CI_REGISTRY/ntpsec/ntpsec/debian-stable-i386
308 # - python ./waf configure --disable-doc --disable-manpage --refclock=all build
310 debian-stable-mDNS-basic:
312 image: $CI_REGISTRY/ntpsec/ntpsec/debian-stable-mdns
314 - python3 ./waf configure --disable-doc --disable-manpage build
316 debian-stable-mDNS-refclocks:
318 image: $CI_REGISTRY/ntpsec/ntpsec/debian-stable-mdns
320 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all build
325 image: $CI_REGISTRY/ntpsec/ntpsec/cross-armhf
327 - pyver=$(python3 -c 'import sys;print(f"{sys.version_info.major}.{sys.version_info.minor}")')
328 - PYTHON_VERSION=${pyver} PYTAG=cpython3 pyext_PATTERN="%s.so" PYTHON_LDFLAGS='-lpthread -ldl' ./waf configure --disable-doc --disable-manpage --disable-nts --cross-compiler=arm-linux-gnueabihf-gcc --cross-cflags "-I/usr/include/ -I/usr/include/python${pyver}" --cross-ldflags '-L/usr/libhf' --pythondir=/usr/libhf/python${pyver}/dist-packages --pythonarchdir=/usr/libhf/python${pyver}/dist-packages build --enable-pylib=ffi
329 - PYTHON_VERSION=${pyver} PYTAG=cpython3 pyext_PATTERN="%s.so" PYTHON_LDFLAGS='-lpthread -ldl' ./waf configure --disable-doc --disable-manpage --disable-nts --cross-compiler=arm-linux-gnueabihf-gcc --cross-cflags "-I/usr/include/ -I/usr/include/python${pyver}" --cross-ldflags '-L/usr/libhf' --pythondir=/usr/libhf/python${pyver}/dist-packages --pythonarchdir=/usr/libhf/python${pyver}/dist-packages build --enable-pylib=ext
334 image: $CI_REGISTRY/ntpsec/ntpsec/gentoo
336 - python ./waf configure --disable-doc --disable-manpage build
337 - DESTDIR=build/prison python ./waf install
338 - DESTDIR=./prison python ./waf install
339 - DESTDIR=../prison python ./waf install
340 - python ./waf install
341 - python ./waf uninstall
342 - rm -rvf build/prison ./prison ../prison
346 image: $CI_REGISTRY/ntpsec/ntpsec/gentoo
348 - python ./waf configure --disable-doc --disable-manpage --refclock=all build
351 image: $CI_REGISTRY/ntpsec/ntpsec/coverity
353 - curl -o /tmp/cov-analysis-linux64.tgz --form project=ntpsec --form token="${COVERITY_TOKEN}" https://scan.coverity.com/download/linux64
354 - tar zxf /tmp/cov-analysis-linux64.tgz
355 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all
356 - cov-analysis-linux64-*/bin/cov-build --dir cov-int python3 ./waf build
357 - tar czf ntpsec_coverity.tgz cov-int
358 - curl --form token="${COVERITY_TOKEN}" --form email=security@ntpsec.org --form file=@ntpsec_coverity.tgz --form version="$(git rev-parse --short HEAD)" --form description="Automatic submission by gitlab-ci" https://scan.coverity.com/builds?project=ntpsec
362 - if: '$CI_COMMIT_BRANCH && $CI_PROJECT_PATH == "NTPsec/ntpsec"'
367 - PKG_CONFIG_PATH=${HOMEBREW_PREFIX}/opt/openssl/lib/pkgconfig python ./waf configure --disable-doc --disable-manpage build --pyshebang "/usr/bin/env python3"
368 - DESTDIR=build/prison python ./waf install
369 - DESTDIR=./prison python ./waf install
370 - DESTDIR=../prison python ./waf install
371 - sudo python ./waf install
372 - sudo python ./waf uninstall
373 - rm -rvf build/prison ./prison ../prison
375 - saas-macos-medium-m1
377 - if: '$CI_COMMIT_BRANCH && $CI_PROJECT_PATH == "NTPsec/ntpsec"'
382 - PKG_CONFIG_PATH=${HOMEBREW_PREFIX}/opt/openssl/lib/pkgconfig python ./waf configure --disable-doc --disable-manpage --refclock=all build || cat build/config.log
384 - saas-macos-medium-m1
386 - if: '$CI_COMMIT_BRANCH && $CI_PROJECT_PATH == "NTPsec/ntpsec"'
390 image: $CI_REGISTRY/ntpsec/ntpsec/alpine
392 - python3 ./waf configure --disable-doc --disable-manpage --enable-attic build
394 feature-classic-mode:
396 image: $CI_REGISTRY/ntpsec/ntpsec/alpine
398 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all --enable-classic-mode build
402 image: $CI_REGISTRY/ntpsec/ntpsec/alpine-seccomp
404 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all --enable-seccomp build
408 image: $CI_REGISTRY/ntpsec/ntpsec/alpine
410 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all --enable-debug build
412 feature-disable-debug-gdb:
414 image: $CI_REGISTRY/ntpsec/ntpsec/alpine
416 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all --disable-debug-gdb build
418 feature-debug-timing:
420 image: $CI_REGISTRY/ntpsec/ntpsec/alpine
422 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all --enable-debug-timing build
424 feature-disable-droproot:
426 image: $CI_REGISTRY/ntpsec/ntpsec/alpine
428 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all --disable-droproot build
430 feature-early-droproot:
432 image: $CI_REGISTRY/ntpsec/ntpsec/alpine
434 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all --enable-early-droproot build
438 image: $CI_REGISTRY/ntpsec/ntpsec/alpine
440 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all --enable-leap-smear build
444 image: $CI_REGISTRY/ntpsec/ntpsec/alpine
446 - python3 ./waf configure --disable-doc --disable-manpage --refclock=all --enable-mssntp build