# Use Kvazaar CI base image which includes the build tools and ffmpeg + hmdec in ${HOME}/bin image: ultravideo/kvazaar_ci_base:latest # Build and test kvazaar test-kvazaar: &test-template stage: test script: - export PATH="${HOME}/bin:${PATH}" - ./autogen.sh - ./configure --enable-werror || (cat config.log && false) - make --jobs=8 - make check --jobs=8 VERBOSE=1 artifacts: paths: - src/kvazaar - src/.libs expire_in: 1 week test-asan: <<: *test-template variables: CFLAGS: '-fsanitize=address' # LeakSanitizer doesn't work inside the container because it requires # ptrace so we disable it. ASAN_OPTIONS: 'detect_leaks=0' # AddressSanitizer adds some extra symbols so we expect a failure from # the external symbols test. XFAIL_TESTS: test_external_symbols.sh test-tsan: <<: *test-template variables: CFLAGS: '-fsanitize=thread' # Temporarily suppress known errors or false positives. TSAN_OPTIONS: 'suppressions=/builds/TIE/ultravideo/kvazaar/tests/tsan_suppressions.txt' test-ubsan: <<: *test-template variables: CFLAGS: '-fsanitize=undefined -fno-sanitize-recover=all -fno-sanitize=alignment' test-valgrind: <<: *test-template variables: KVAZAAR_OVERRIDE_angular_pred: generic KVAZAAR_OVERRIDE_sao_band_ddistortion: generic KVAZAAR_OVERRIDE_sao_edge_ddistortion: generic KVAZAAR_OVERRIDE_calc_sao_edge_dir: generic KVZ_TEST_VALGRIND: 1 # TODO: If someone knows YAML better, there has to be some better way to # concatenate stuff into the test-template script than just manually copy # pasting test-distcheck: <<: *test-template script: - export PATH="${HOME}/bin:${PATH}" - ./autogen.sh - ./configure --enable-werror || (cat config.log && false) - make --jobs=8 VERBOSE=1 distcheck test-10bit: <<: *test-template variables: CFLAGS: '-DKVZ_BIT_DEPTH=10'