dynamically allocate model in ResultsTree
#18940
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Syntax reference https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions | |
| # Environment reference https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners | |
| name: address sanitizer | |
| on: | |
| push: | |
| branches: | |
| - 'main' | |
| - 'releases/**' | |
| - '2.*' | |
| tags: | |
| - '2.*' | |
| pull_request: | |
| permissions: | |
| contents: read | |
| jobs: | |
| build: | |
| runs-on: ubuntu-22.04 | |
| env: | |
| QT_VERSION: 6.9.1 | |
| ASAN_OPTIONS: detect_stack_use_after_return=1 | |
| # TODO: figure out why there are cache misses with PCH enabled | |
| CCACHE_SLOPPINESS: pch_defines,time_macros | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| persist-credentials: false | |
| - name: ccache | |
| uses: hendrikmuhs/ccache-action@v1.2 | |
| with: | |
| key: ${{ github.workflow }}-${{ github.job }}-${{ matrix.os }} | |
| - name: Set up Python 3.13 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.13' | |
| check-latest: true | |
| - name: Install missing software on ubuntu | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y cmake make libpcre3-dev libboost-container-dev libxml2-utils | |
| sudo apt-get install -y libcups2-dev # required for Qt6PrintSupport in CMake since Qt 6.7.3 | |
| - name: Install clang | |
| run: | | |
| sudo apt-get purge --auto-remove llvm python3-lldb-14 llvm-14 | |
| wget https://apt.llvm.org/llvm.sh | |
| chmod +x llvm.sh | |
| sudo ./llvm.sh 21 | |
| - name: Install Qt ${{ env.QT_VERSION }} | |
| uses: jurplel/install-qt-action@v4 | |
| with: | |
| version: ${{ env.QT_VERSION }} | |
| modules: 'qtcharts' | |
| setup-python: 'false' | |
| cache: true | |
| - name: Install missing Python packages | |
| run: | | |
| python3 -m pip install pip --upgrade | |
| python3 -m pip install pytest | |
| python3 -m pip install pytest-timeout | |
| python3 -m pip install pytest-xdist | |
| python3 -m pip install psutil | |
| # TODO: disable all warnings | |
| - name: CMake | |
| run: | | |
| cmake -S . -B cmake.output -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DBUILD_TRIAGE=On -DUSE_MATCHCOMPILER=Verify -DANALYZE_ADDRESS=On -DENABLE_CHECK_INTERNAL=On -DUSE_BOOST=On -DCPPCHK_GLIBCXX_DEBUG=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On -DDISABLE_DMAKE=On -DFILESDIR= -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache | |
| env: | |
| CC: clang-21 | |
| CXX: clang++-21 | |
| - name: Build cppcheck | |
| run: | | |
| cmake --build cmake.output --target cppcheck -- -j $(nproc) | |
| - name: Build test | |
| run: | | |
| cmake --build cmake.output --target testrunner -- -j $(nproc) | |
| - name: Build GUI tests | |
| run: | | |
| cmake --build cmake.output --target gui-tests -- -j $(nproc) | |
| - name: Run CTest | |
| run: | | |
| ctest --test-dir cmake.output --output-on-failure -j$(nproc) |