# 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: - bash .travis-install.bash - export PATH="${HOME}/bin:${PATH}" - cmake -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=./ . || (cat config.log && false) - make install - env CTEST_PARALLEL_LEVEL=8 CTEST_OUTPUT_ON_FAILURE=1 make test artifacts: paths: - bin/uvg266 expire_in: 1 week test-asan: <<: *test-template variables: CFLAGS: '-fsanitize=address -g' # 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 #test-tsan: # <<: *test-template # variables: # CFLAGS: '-fsanitize=thread' # # Temporarily suppress known errors or false positives. # TSAN_OPTIONS: 'suppressions=/builds/cs/ultravideo/kvazaar/tests/tsan_suppressions.txt' test-ubsan: <<: *test-template variables: CFLAGS: '-fsanitize=undefined -fno-sanitize-recover=all -fno-sanitize=alignment -g' test-valgrind: <<: *test-template variables: UVG_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' # VAQ is not currently supported on the 10-bit build, so xfail it #XFAIL_TESTS: test_tools.sh