uvg266/.github/workflows/pull_request.yml
2022-06-14 14:19:24 +03:00

102 lines
3.5 KiB
YAML

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