Files
2026-09-16 14:07:40 +08:00

69 lines
2.0 KiB
Plaintext
Vendored

name: TSAN
on:
push:
paths:
- "**/workflows/build_tsan.yml"
- "**/Source/**"
- "**/Tests/**"
- "**/ThirdParty/**"
- "**/CMakeLists.txt"
- "**/.gitmodules"
- "!**/*.md"
- "!**/*.txt"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
BUILD_TYPE: RelWithDebInfo
jobs:
lua:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
lua:
- { version: "5.1", suffix: "51" }
- { version: "5.2", suffix: "52" }
- { version: "5.3", suffix: "53" }
- { version: "5.4", suffix: "54" }
- { version: "5.5", suffix: "55" }
steps:
- uses: actions/checkout@v6
with:
submodules: true
- name: Install Dependencies
run: sudo apt-get -y install ninja-build
- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Configure
working-directory: ${{runner.workspace}}/build
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DLUABRIDGE_SANITIZE=thread -G Ninja
- name: Build Lua ${{ matrix.lua.version }}
working-directory: ${{runner.workspace}}/build
run: |
cmake --build . --config $BUILD_TYPE --parallel $(nproc) --target \
LuaBridgeTests${{ matrix.lua.suffix }} \
LuaBridgeTests${{ matrix.lua.suffix }}LuaC \
LuaBridgeTests${{ matrix.lua.suffix }}Noexcept \
LuaBridgeTests${{ matrix.lua.suffix }}LuaCNoexcept
- name: Test Lua ${{ matrix.lua.version }}
working-directory: ${{runner.workspace}}/build/Tests
env:
TSAN_OPTIONS: halt_on_error=1:print_stacktrace=1
run: |
./LuaBridgeTests${{ matrix.lua.suffix }}
./LuaBridgeTests${{ matrix.lua.suffix }}LuaC
./LuaBridgeTests${{ matrix.lua.suffix }}Noexcept
./LuaBridgeTests${{ matrix.lua.suffix }}LuaCNoexcept