diff --git a/.github/workflows/linux-eic-shell.yml b/.github/workflows/linux-eic-shell.yml index edbeab789b..56fe8a60a5 100644 --- a/.github/workflows/linux-eic-shell.yml +++ b/.github/workflows/linux-eic-shell.yml @@ -217,6 +217,17 @@ jobs: name: install-${{ matrix.CXX }}-eic-shell-${{ matrix.CMAKE_BUILD_TYPE }}-${{ env.platform }}-${{ matrix.release }}-ASAN path: install.tar.zst if-no-files-found: error + # Only compress and upload build directory for t_algorithms_test if we are going to use it later + - name: Compress build directory (for t_algorithms_test) + if: ${{ matrix.CXX == 'clang++' && matrix.CMAKE_BUILD_TYPE == 'Release' && matrix.USE_ASAN == 'ON' && matrix.USE_TSAN == 'OFF' }} + run: tar -caf build-t-algorithms-test.tar.zst $(find build -name "CTestTestfile.cmake") build/src/tests/algorithms_test/algorithms_test + - name: Upload build directory (for t_algorithms_test) + if: ${{ matrix.CXX == 'clang++' && matrix.CMAKE_BUILD_TYPE == 'Release' && matrix.USE_ASAN == 'ON' && matrix.USE_TSAN == 'OFF' }} + uses: actions/upload-artifact@v7 + with: + name: build-t-algorithms-test-${{ matrix.CXX }}-eic-shell-${{ matrix.CMAKE_BUILD_TYPE }}-${{ env.platform }}-${{ matrix.release }}-ASAN + path: build-t-algorithms-test.tar.zst + if-no-files-found: error - name: Upload install directory (TSAN) if: ${{ matrix.USE_ASAN == 'OFF' && matrix.USE_TSAN == 'ON' }} uses: actions/upload-artifact@v7 @@ -236,6 +247,43 @@ jobs: path: build.tar.zst if-no-files-found: error + t-algorithms-test: + # This job runs t_algorithms_test separately from the build job. + # It specifically targets the clang++ Release ASAN configuration that was failing. + runs-on: ubuntu-24.04 + needs: + - build + continue-on-error: true + steps: + - name: Checkout .github + uses: actions/checkout@v6 + with: + sparse-checkout: .github + - uses: cvmfs-contrib/github-action-cvmfs@v5 + - name: Download install directory + uses: actions/download-artifact@v8 + with: + name: install-clang++-eic-shell-Release-${{ env.platform }}-${{ env.release }}-ASAN + - name: Uncompress install directory + run: tar -xaf install.tar.zst + - name: Download build directory (for t_algorithms_test) + uses: actions/download-artifact@v8 + with: + name: build-t-algorithms-test-clang++-eic-shell-Release-${{ env.platform }}-${{ env.release }}-ASAN + - name: Uncompress build directory + run: tar -xaf build-t-algorithms-test.tar.zst + - name: Run t_algorithms_test + uses: eic/run-cvmfs-osg-eic-shell@main + with: + organization: "${{ env.organization }}" + platform-release: "${{ env.platform }}:${{ env.release }}" + run: | + # GitHub Actions artifacts do not preserve file permissions + chmod +x build/src/tests/algorithms_test/algorithms_test + export LD_LIBRARY_PATH=$PWD/install/lib:$LD_LIBRARY_PATH + export JANA_PLUGIN_PATH=$PWD/install/lib/EICrecon/plugins${JANA_PLUGIN_PATH:+:${JANA_PLUGIN_PATH}} + ctest --test-dir build -V -R "^t_algorithms_test$" + clang-tidy-iwyu: runs-on: ubuntu-24.04 needs: build