From aea252fb4a8b7f24bcfa9bba6da06100e3848d19 Mon Sep 17 00:00:00 2001 From: Eve <139727413+netrunnereve@users.noreply.github.com> Date: Mon, 10 Aug 2026 06:31:28 +0000 Subject: [PATCH] ci: fix the ctest sanitize runs (#26593) * Update build-sanitize.yml * make it run on pr * fix thread * Update build-sanitize.yml * Update build-sanitize.yml * just run thread on github machine --- .github/workflows/build-sanitize.yml | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-sanitize.yml b/.github/workflows/build-sanitize.yml index e242abcfd3..9654cb4e4d 100644 --- a/.github/workflows/build-sanitize.yml +++ b/.github/workflows/build-sanitize.yml @@ -15,6 +15,12 @@ on: '**/*.cpp' ] + pull_request: + types: [opened, synchronize, reopened] + paths: [ + '.github/workflows/build-sanitize.yml' + ] + concurrency: group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }} cancel-in-progress: true @@ -28,19 +34,35 @@ env: jobs: ctest: - runs-on: [self-hosted, X64, CPU, Linux] - continue-on-error: true strategy: matrix: - sanitizer: [ADDRESS, THREAD, UNDEFINED] + include: + - sanitizer: ADDRESS + machine: [self-hosted, X64, Linux] + # thread doesn't run properly on some self hosted machines, so run it on Github instead + - sanitizer: THREAD + machine: ubuntu-24.04 + - sanitizer: UNDEFINED + machine: [self-hosted, X64, Linux] + + runs-on: ${{ matrix.machine }} steps: - name: Clone id: checkout uses: actions/checkout@v6 + - name: ccache + uses: ggml-org/ccache-action@v1.2.21 + if: ${{ matrix.sanitizer == 'THREAD' }} + with: + key: ctest-thread-ubuntu-24.04 + variant: ccache + evict-old-files: 1d + save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} + # with UNDEFINED sanitizer, we have to build in Debug to avoid GCC 13 false-positive warnings - name: Build (undefined) id: cmake_build_undefined