container:
image: "${{ needs.get-runner-container-image.outputs.id }}:${{ needs.get-runner-container-image.outputs.tag }}"
env:
+ CLANG_VERSION: '19'
SANITIZERS: ${{ matrix.sanitizers }}
UBSAN_OPTIONS: "print_stacktrace=1:halt_on_error=1:suppressions=${{ env.REPO_HOME }}/build-scripts/UBSan.supp"
UNIT_TESTS: yes
python3 -m venv ${REPO_HOME}/.venv
. ${REPO_HOME}/.venv/bin/activate && pip install -r ${REPO_HOME}/meson/requirements.txt
working-directory: .
+ - run: ${{ env.INV_CMD }} install-clang
+ working-directory: .
- run: ${{ env.INV_CMD }} install-lld-linker-if-needed
working-directory: ./pdns/dnsdistdist/
- run: ${{ env.INV_CMD }} ci-install-rust ${{ env.REPO_HOME }}
container:
image: "${{ needs.get-runner-container-image.outputs.id }}:${{ needs.get-runner-container-image.outputs.tag }}"
env:
+ CLANG_VERSION: '19'
UBSAN_OPTIONS: "print_stacktrace=1:halt_on_error=1:suppressions=${{ env.REPO_HOME }}/build-scripts/UBSan.supp"
# Disabling (intercept_send=0) the custom send wrappers for ASAN and TSAN because they cause the tools to report a race that doesn't exist on actual implementations of send(), see https://github.com/google/sanitizers/issues/1498
ASAN_OPTIONS: intercept_send=0
"""
install clang and llvm
"""
- c.sudo(f'apt-get -y --no-install-recommends install clang-{clang_version} llvm-{clang_version}')
+ if int(clang_version) >= 14:
+ c.sudo(f'apt-get -y --no-install-recommends install clang-{clang_version} llvm-{clang_version} llvm-{clang_version}-dev libclang-rt-{clang_version}-dev')
+ else:
+ c.sudo(f'apt-get -y --no-install-recommends install clang-{clang_version} llvm-{clang_version} llvm-{clang_version}-dev')
@task
def install_clang_tidy_tools(c):
@task
def install_clang_runtime(c):
# this gives us the symbolizer, for symbols in asan/ubsan traces
- c.sudo(f'apt-get -y --no-install-recommends install clang-{clang_version}')
+ # on Debian we need llvm-symbolizer-XX
+ #c.sudo(f'apt-get -y --no-install-recommends install llvm-symbolizer-{clang_version}')
+ # on Ubuntu we need llvm-XX instead
+ c.sudo(f'apt-get -y --no-install-recommends install llvm-{clang_version}')
@task
def ci_install_rust(c, repo):