mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2026-06-17 09:17:05 +00:00
ci: add tsan spack environment with instrumented libzmq
- mirror spack-latest.yaml, with -fsanitize=thread on the libzmq and libsodium nodes so tsan can observe the happens-before edges established inside libzmq's lock-free queues, plus the libstdcxx-tsan root spec - flags are applied per node instead of via the propagating '==' operator, which could reach the gcc node and trigger a compiler rebuild - unchanged roots (fairlogger, boost, ninja, cmake) keep their spec hashes, so they are shared with the regular buildcache entries; the instrumented nodes hash differently and coexist in the content-addressed cache - exclude libstdcxx-tsan from concretizer reuse so recipe changes always take effect; unchanged recipes still hit the buildcache because the spec hash is identical - add the tsan env to the buildcache matrix (rebuilding also on spack_repo changes) so the instrumented binaries are cached instead of rebuilt on every CI run
This commit is contained in:
committed by
Dennis Klein
parent
331c50ab0e
commit
add85cb18d
2
.github/actions/setup-deps/action.yml
vendored
2
.github/actions/setup-deps/action.yml
vendored
@@ -6,7 +6,7 @@ inputs:
|
||||
description: 'GCC version to use'
|
||||
required: true
|
||||
env:
|
||||
description: 'Spack environment name (latest, boost187)'
|
||||
description: 'Spack environment name (latest, boost187, tsan)'
|
||||
default: 'latest'
|
||||
fresh:
|
||||
description: 'Use fresh concretization'
|
||||
|
||||
3
.github/workflows/buildcache.yml
vendored
3
.github/workflows/buildcache.yml
vendored
@@ -8,6 +8,7 @@ on:
|
||||
branches: [dev, master]
|
||||
paths:
|
||||
- 'test/ci/spack-*.yaml'
|
||||
- 'test/ci/spack_repo/**'
|
||||
- '.github/workflows/buildcache.yml'
|
||||
- '.github/actions/setup-deps/**'
|
||||
|
||||
@@ -30,6 +31,8 @@ jobs:
|
||||
include:
|
||||
- gcc: '15'
|
||||
env: 'boost187'
|
||||
- gcc: '15'
|
||||
env: 'tsan'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
Reference in New Issue
Block a user