name: uvg266_pr_tests on: pull_request_target: types: [labeled] jobs: basic-test: runs-on: self-hosted if: contains(github.event.pull_request.labels.*.name, 'safe to test') steps: - uses: actions/checkout@v2 with: ref: ${{github.event.pull_request.head.ref}} repository: ${{github.event.pull_request.head.repo.full_name}} - name: cmake run: cmake -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=./ . || (cat config.log && false) - name: make run: make install -j - name: Run tests run: export PATH="/home/docker/bin:${PATH}" && CTEST_PARALLEL_LEVEL=8 CTEST_OUTPUT_ON_FAILURE=1 make test test-ubsan: runs-on: self-hosted if: contains(github.event.pull_request.labels.*.name, 'safe to test') env: CC: gcc CFLAGS: -fsanitize=undefined -fno-sanitize-recover=all -fno-sanitize=alignment steps: - uses: actions/checkout@v2 with: ref: ${{github.event.pull_request.head.ref}} repository: ${{github.event.pull_request.head.repo.full_name}} - name: cmake run: cmake -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=./ . || (cat config.log && false) - name: make run: make install -j - name: Run tests run: export PATH="/home/docker/bin:${PATH}" && CTEST_PARALLEL_LEVEL=8 CTEST_OUTPUT_ON_FAILURE=1 make test test-asan: runs-on: self-hosted if: contains(github.event.pull_request.labels.*.name, 'safe to test') env: CC: gcc CFLAGS: -fsanitize=address 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 steps: - uses: actions/checkout@v2 with: ref: ${{github.event.pull_request.head.ref}} repository: ${{github.event.pull_request.head.repo.full_name}} - name: cmake run: cmake -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=./ . || (cat config.log && false) - name: make run: make install -j - name: Run tests run: export PATH="/home/docker/bin:${PATH}" && CTEST_PARALLEL_LEVEL=8 CTEST_OUTPUT_ON_FAILURE=1 make test # test-tsan: # runs-on: self-hosted # if: contains(github.event.pull_request.labels.*.name, 'safe to test') # env: # CC: gcc # CFLAGS: -fsanitize=thread # steps: # - uses: actions/checkout@v2 # with: # ref: ${{github.event.pull_request.head.ref}} # repository: ${{github.event.pull_request.head.repo.full_name}} # - name: cmake # run: cmake -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=./ . || (cat config.log && false) # - name: make # run: make install -j # - name: Run tests # run: export PATH="/home/docker/bin:${PATH}" && CTEST_PARALLEL_LEVEL=8 CTEST_OUTPUT_ON_FAILURE=1 make test test-valgrind: runs-on: self-hosted if: contains(github.event.pull_request.labels.*.name, 'safe to test') env: UVG266_OVERRIDE_angular_pred: generic steps: - uses: actions/checkout@v2 with: ref: ${{github.event.pull_request.head.ref}} repository: ${{github.event.pull_request.head.repo.full_name}} - name: cmake run: cmake -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=./ . || (cat config.log && false) - name: make run: make install -j - name: Run tests run: export PATH="/home/docker/bin:${PATH}" && CTEST_PARALLEL_LEVEL=8 CTEST_OUTPUT_ON_FAILURE=1 make test