Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add tsan CI #99

Merged
merged 1 commit into from
Oct 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions .github/workflows/tsan.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: tsan

on:
push:
pull_request:

jobs:
ubuntu:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: [20.04, 22.04]
platform: [linux/amd64, linux/arm64]
target: [clang-shared-regression-tsan]
steps:
- name: Install qemu-user-static
run: |
if [[ "${{ matrix.platform }}" == "linux/arm64" ]]; then
sudo apt-get update && sudo apt-get install -y qemu-user-static
fi
- name: Checkout
uses: actions/checkout@v4
- name: Build
run: |
docker buildx build --platform ${{ matrix.platform }} -t systemc_test --build-arg UBUNTU_VERSION=${{ matrix.version }} -f docker/ubuntu.dockerfile .
docker run -e SYSTEMC_CI_TARGET=${{ matrix.target }} systemc_test
almalinux:
runs-on: ubuntu-latest
aut0 marked this conversation as resolved.
Show resolved Hide resolved
strategy:
fail-fast: false
matrix:
version: [8, 9]
platform: [linux/amd64, linux/arm64]
target: [clang-shared-regression-tsan]
steps:
- name: Install qemu-user-static
run: |
if [[ "${{ matrix.platform }}" == "linux/arm64" ]]; then
sudo apt-get update && sudo apt-get install -y qemu-user-static
fi
- name: Checkout
uses: actions/checkout@v4
- name: Build
run: |
docker buildx build --platform ${{ matrix.platform }} -t systemc_test --build-arg ALMA_VERSION=${{ matrix.version }} -f docker/alma.dockerfile .
aut0 marked this conversation as resolved.
Show resolved Hide resolved
docker run -e SYSTEMC_CI_TARGET=${{ matrix.target }} systemc_test
macos:
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
target: [clang-shared-regression-tsan]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build
run: |
SYSTEMC_CI_TARGET=${{ matrix.target }} SYSTEMC_SRC_PATH=$PWD docker/entrypoint.sh
9 changes: 8 additions & 1 deletion docker/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,14 @@ case "$SYSTEMC_CI_TARGET" in
BUILD_REGRESSIONS=true
CXX_FLAGS="$CXX_FLAGS -fsanitize=undefined"
;;
*)
clang-shared-regression-tsan)
CC=clang
CXX=clang++
BUILD_SHARED_LIBRARY=true
BUILD_REGRESSIONS=true
CXX_FLAGS="$CXX_FLAGS -fsanitize=thread"
;;
*)
echo "Error: Unknown SYSTEMC_CI_TARGET '$SYSTEMC_CI_TARGET'"
exit 1
;;
Expand Down
Loading