7 image: registry.videolan.org:5000/dav1d-debian-unstable:20190215130514
13 - git grep -I -n -P "\t|\r| $" -- . ':(exclude)*/compat/*' && exit 1
14 - git grep -I -n -i "david" -- . ':(exclude)THANKS.md' ':(exclude).gitlab-ci.yml' && exit 1
15 - git grep -I -l -z "" -- . ':(exclude)*/compat/*' | while IFS= read -r -d '' i; do
16 if [ -n "$(tail -c 1 "$i")" ]; then
17 echo "No newline at end of $i";
21 - git remote rm upstream 2> /dev/null || true
22 - git remote add upstream https://code.videolan.org/videolan/dav1d.git
23 - git fetch -q upstream master
24 - for i in $(git rev-list HEAD ^upstream/master); do
25 echo "Checking commit message of $i";
26 msg="$(git log --format=%B -n 1 $i)";
27 if [ -n "$(echo "$msg" | awk "NR==2")" ]; then
28 echo "Malformed commit message in $i, second line must be empty";
31 if echo "$msg" | head -1 | grep -q '\.$'; then
32 echo "Malformed commit message in $i, trailing period in subject line";
38 image: registry.videolan.org:5000/dav1d-debian-unstable:20190215130514
44 - meson build --buildtype release --werror
46 - cd build && meson test -v
49 image: registry.videolan.org:5000/dav1d-debian-unstable:20190215130514
55 - meson build --buildtype release --default-library static --werror
57 - cd build && meson test -v
58 - nm -A -g src/libdav1d.a | grep " [ABCDGRST] " | (! grep -v " _*dav1d_")
61 image: registry.videolan.org:5000/dav1d-debian-unstable:20181218135732
67 - meson build --buildtype release
69 --cross-file /opt/crossfiles/linux32.meson
71 - cd build && meson test -v
74 image: registry.videolan.org:5000/dav1d-debian-unstable:20190215130514
80 - wineserver -p && wine wineboot
81 - meson build --buildtype release
84 --prefix "$(pwd)/build/dav1d_install"
85 --cross-file /opt/crossfiles/i686-w64-mingw32.meson
86 -Ddefault_library=both
88 - ninja -C build install
89 - cd build && meson test -v
90 - i686-w64-mingw32-nm -A -g src/libdav1d.a | grep " [ABCDGRST] " | (! grep -E -v " \.| _*dav1d_")
92 name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
94 - build/dav1d_install/
97 build-win32-unaligned-stack:
98 image: registry.videolan.org:5000/vlc-debian-llvm-mingw:20190218133533
104 - wineserver -p && wine wineboot
105 - meson build --buildtype release
107 --cross-file /opt/crossfiles/i686-w64-mingw32.meson
110 - cd build && meson test -v
113 image: registry.videolan.org:5000/dav1d-debian-unstable:20190215130514
119 - wineserver -p && wine wineboot
120 - meson build --buildtype release
123 --prefix "$(pwd)/build/dav1d_install"
124 --cross-file /opt/crossfiles/x86_64-w64-mingw32.meson
125 -Ddefault_library=both
127 - ninja -C build install
128 - cd build && meson test -v
129 - x86_64-w64-mingw32-nm -A -g src/libdav1d.a | grep " [ABCDGRST] " | (! grep -E -v " \.| _*dav1d_")
131 name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
133 - build/dav1d_install/
137 image: registry.videolan.org:5000/vlc-debian-llvm-mingw:20190218133533
143 - meson build --buildtype release
146 --prefix "$(pwd)/build/dav1d_install"
147 --cross-file /opt/crossfiles/armv7-w64-mingw32.meson
148 -Ddefault_library=both
150 - armv7-w64-mingw32-nm -A -g build/src/libdav1d.a | grep " [ABCDGRST] " | (! grep -E -v " \.| _*dav1d_")
153 image: registry.videolan.org:5000/vlc-debian-llvm-mingw:20190218133533
159 - meson build --buildtype release
162 --prefix "$(pwd)/build/dav1d_install"
163 --cross-file /opt/crossfiles/aarch64-w64-mingw32.meson
164 -Ddefault_library=both
166 - ninja -C build install
167 - aarch64-w64-mingw32-nm -A -g build/src/libdav1d.a | grep " [ABCDGRST] " | (! grep -E -v " \.| _*dav1d_")
169 name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
171 - build/dav1d_install/
174 build-debian-aarch64:
176 image: registry.videolan.org/dav1d-debian-buster-aarch64:20200218203017
181 - meson build --buildtype debugoptimized --werror
183 - cd build && meson test -v
185 build-debian-aarch64-clang-5:
187 image: registry.videolan.org/dav1d-debian-buster-aarch64:20200218203017
192 - env CC=clang-5.0 CFLAGS='-integrated-as' meson build --buildtype release
194 - cd build && meson test -v
201 - meson build --buildtype release -Ddefault_library=both --werror
203 - cd build && meson test -v
206 image: registry.videolan.org/dav1d-debian-buster-aarch64:20200218203017
212 - env CC='clang-7' meson build --buildtype debug --werror
217 image: registry.videolan.org:5000/dav1d-debian-unstable-armv7:20190202101732
222 - linux32 meson build --buildtype debugoptimized --werror
224 - cd build && meson test -v
226 build-debian-armv7-clang-5:
228 image: registry.videolan.org:5000/dav1d-debian-unstable-armv7:20190202101732
233 - env CC=clang-5.0 CFLAGS='-integrated-as' linux32 meson build --buildtype release
235 - cd build && meson test -v
239 image: registry.videolan.org/dav1d-ubuntu-bionic:20200121182340
244 - cd package/snap && snapcraft snap
246 if [ "$CI_PROJECT_NAMESPACE" = "videolan" ]; then
247 echo $SNAP_LOGIN | base64 --decode | snapcraft login --with -
248 snapcraft push dav1d_*.snap --release edge
252 name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
254 - package/snap/dav1d_*.snap
258 build-debian-ppc64le:
260 image: registry.videolan.org/dav1d-debian-unstable-ppc64le:20190606105121
265 - meson build --buildtype release --werror
267 - cd build && meson test -v
270 image: registry.videolan.org:5000/dav1d-debian-unstable:20190215130514
272 needs: ["build-debian"]
277 key: testdata.git-20190215
279 - cache/dav1d-test-data.git/
281 - test -d cache || mkdir cache
282 - test -d cache/dav1d-test-data.git && GIT_DIR=cache/dav1d-test-data.git git fetch --refmap=refs/heads/master:refs/heads/master origin master
283 - test -d cache/dav1d-test-data.git || git clone --bare https://code.videolan.org/videolan/dav1d-test-data.git cache/dav1d-test-data.git
284 - git clone cache/dav1d-test-data.git tests/dav1d-test-data
285 - meson build --buildtype release -Dtestdata_tests=true -Dlogging=false
287 - cd build && time meson test -v
290 test-debian-unaligned-stack:
291 image: registry.videolan.org:5000/dav1d-debian-unstable:20190215130514
293 needs: ["build-debian"]
298 key: testdata.git-20190215
300 - cache/dav1d-test-data.git/
302 - test -d cache || mkdir cache
303 - test -d cache/dav1d-test-data.git && GIT_DIR=cache/dav1d-test-data.git git fetch --refmap=refs/heads/master:refs/heads/master origin master
304 - test -d cache/dav1d-test-data.git || git clone --bare https://code.videolan.org/videolan/dav1d-test-data.git cache/dav1d-test-data.git
305 - git clone cache/dav1d-test-data.git tests/dav1d-test-data
306 - meson build --buildtype release -Dtestdata_tests=true -Dlogging=false -Dstack_alignment=16
308 - cd build && time meson test -v
312 image: registry.videolan.org:5000/dav1d-debian-unstable:20190215130514
314 needs: ["build-debian"]
319 key: testdata.git-20190215
321 - cache/dav1d-test-data.git/
323 ASAN_OPTIONS: 'detect_leaks=0'
325 - test -d cache || mkdir cache
326 - test -d cache/dav1d-test-data.git && GIT_DIR=cache/dav1d-test-data.git git fetch --refmap=refs/heads/master:refs/heads/master origin master
327 - test -d cache/dav1d-test-data.git || git clone --bare https://code.videolan.org/videolan/dav1d-test-data.git cache/dav1d-test-data.git
328 - git clone cache/dav1d-test-data.git tests/dav1d-test-data
329 - meson build --buildtype debugoptimized -Dtestdata_tests=true -Dlogging=false -Db_sanitize=address -Denable_asm=false
331 - cd build && time meson test -v --setup=sanitizer
335 image: registry.videolan.org:5000/dav1d-debian-unstable:20190215130514
337 needs: ["build-debian"]
342 key: testdata.git-20190215
344 - cache/dav1d-test-data.git/
346 MSAN_OPTIONS: 'exitcode=1'
348 - test -d cache || mkdir cache
349 - test -d cache/dav1d-test-data.git && GIT_DIR=cache/dav1d-test-data.git git fetch --refmap=refs/heads/master:refs/heads/master origin master
350 - test -d cache/dav1d-test-data.git || git clone --bare https://code.videolan.org/videolan/dav1d-test-data.git cache/dav1d-test-data.git
351 - git clone cache/dav1d-test-data.git tests/dav1d-test-data
352 - env CC=clang meson build --buildtype debugoptimized -Dtestdata_tests=true -Dlogging=false -Db_sanitize=memory -Db_lundef=false -Denable_asm=false
354 - cd build && time meson test -v --setup=sanitizer
358 image: registry.videolan.org:5000/dav1d-debian-unstable:20190215130514
360 needs: ["build-debian"]
365 key: testdata.git-20190215
367 - cache/dav1d-test-data.git/
369 UBSAN_OPTIONS: 'print_stacktrace=1:halt_on_error=1'
371 - test -d cache || mkdir cache
372 - test -d cache/dav1d-test-data.git && GIT_DIR=cache/dav1d-test-data.git git fetch --refmap=refs/heads/master:refs/heads/master origin master
373 - test -d cache/dav1d-test-data.git || git clone --bare https://code.videolan.org/videolan/dav1d-test-data.git cache/dav1d-test-data.git
374 - git clone cache/dav1d-test-data.git tests/dav1d-test-data
375 - env CC=clang meson build --buildtype debugoptimized -Dtestdata_tests=true -Dlogging=false -Db_sanitize=undefined -Db_lundef=false -Denable_asm=false
377 - cd build && time meson test -v --setup=sanitizer
381 image: registry.videolan.org:5000/dav1d-debian-unstable:20190215130514
383 needs: ["build-win64"]
388 key: testdata.git-20190215
390 - cache/dav1d-test-data.git/
392 - test -d cache || mkdir cache
393 - test -d cache/dav1d-test-data.git && GIT_DIR=cache/dav1d-test-data.git git fetch --refmap=refs/heads/master:refs/heads/master origin master
394 - test -d cache/dav1d-test-data.git || git clone --bare https://code.videolan.org/videolan/dav1d-test-data.git cache/dav1d-test-data.git
395 - git clone cache/dav1d-test-data.git tests/dav1d-test-data
396 - wineserver -p && wine wineboot
397 - meson build --buildtype release
398 -Dtestdata_tests=true
400 --cross-file /opt/crossfiles/x86_64-w64-mingw32.meson
402 - cd build && time meson test -v
406 image: registry.videolan.org/dav1d-debian-buster-aarch64:20200218203017
408 needs: ["build-debian-aarch64"]
413 key: testdata.git-20190215
415 - cache/dav1d-test-data.git/
417 - test -d cache || mkdir cache
418 - test -d cache/dav1d-test-data.git && GIT_DIR=cache/dav1d-test-data.git git fetch --refmap=refs/heads/master:refs/heads/master origin master
419 - test -d cache/dav1d-test-data.git || git clone --bare https://code.videolan.org/videolan/dav1d-test-data.git cache/dav1d-test-data.git
420 - git clone cache/dav1d-test-data.git tests/dav1d-test-data
421 - meson build --buildtype release
422 -Dtestdata_tests=true
425 - cd build && time meson test -v
429 image: registry.videolan.org/dav1d-debian-unstable-ppc64le:20190606105121
431 needs: ["build-debian-ppc64le"]
436 key: testdata.git-20190215
438 - cache/dav1d-test-data.git/
440 - test -d cache || mkdir cache
441 - test -d cache/dav1d-test-data.git && GIT_DIR=cache/dav1d-test-data.git git fetch --refmap=refs/heads/master:refs/heads/master origin master
442 - test -d cache/dav1d-test-data.git || git clone --bare https://code.videolan.org/videolan/dav1d-test-data.git cache/dav1d-test-data.git
443 - git clone cache/dav1d-test-data.git tests/dav1d-test-data
444 - meson build --buildtype release
445 -Dtestdata_tests=true
448 - cd build && time meson test -v
451 test-debian-armv7-clang-5:
453 image: registry.videolan.org:5000/dav1d-debian-unstable-armv7:20190202101732
454 needs: ["build-debian-armv7-clang-5"]
459 key: testdata.git-20190215
461 - cache/dav1d-test-data.git/
463 - test -d cache || mkdir cache
464 - test -d cache/dav1d-test-data.git && GIT_DIR=cache/dav1d-test-data.git git fetch --refmap=refs/heads/master:refs/heads/master origin master
465 - test -d cache/dav1d-test-data.git || git clone --bare https://code.videolan.org/videolan/dav1d-test-data.git cache/dav1d-test-data.git
466 - git clone cache/dav1d-test-data.git tests/dav1d-test-data
467 - env CC=clang-5.0 CFLAGS='-integrated-as' linux32 meson build --buildtype release
468 -Dtestdata_tests=true
471 - cd build && time meson test -v