Skip to content

Avoid relinking python modules on every rebuild #46

Avoid relinking python modules on every rebuild

Avoid relinking python modules on every rebuild #46

name: build_conduit_clang_asan
on:
pull_request:
branches: [ develop ]
jobs:
build_basic:
name: Ubuntu Build Conduit Clang Asan
runs-on: ubuntu-latest
env:
CC: clang
CXX: clang++
MPICH_CC: clang
MPICH_CXX: clang++
CFLAGS: "-fsanitize=address -DNDEBUG"
CXXFLAGS: "-fsanitize=address -DNDEBUG"
steps:
- name: Install System Deps
run: |
sudo apt-get update -y
sudo apt-get install -y binutils \
clang \
llvm \
python3 \
perl \
git \
git-lfs \
curl \
wget \
tar \
unzip \
build-essential \
libncurses-dev \
libssl-dev \
libblas-dev \
liblapack-dev \
zlib1g-dev \
libgdbm-dev \
libreadline-dev \
libsqlite3-dev \
libbz2-dev \
mpich \
libmpich-dev \
cmake
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Build TPLs
run: |
env enable_mpi=OFF \
build_config=Debug \
enable_fortran=OFF \
enable_tests=OFF \
enable_verbose=OFF \
build_conduit=false \
build_jobs=4 \
prefix=tpls \
./scripts/build_conduit/build_conduit.sh
# - name: Configure Conduit (MPI)
# run: |
# cmake --version
# echo "**** Configuring Conduit"
# # Note: for system clang + mpich, we need to pass
# # mpi compiler wrappers are the c & cxx compilers
# cmake -S src \
# -B build \
# -C tpls/conduit-config.cmake \
# -DCMAKE_C_COMPILER=/usr/bin/mpicc \
# -DCMAKE_CXX_COMPILER=/usr/bin/mpicxx \
# -DENABLE_TESTS=ON \
# -DCMAKE_INSTALL_PREFIX=install
- name: Configure Conduit
run: |
cmake --version
echo "**** Configuring Conduit"
cmake -S src \
-B build \
-C tpls/conduit-config.cmake \
-DENABLE_TESTS=ON \
-DCMAKE_INSTALL_PREFIX=install
- name: Build Conduit
run: |
echo "**** Building Conduit"
cmake --build build -j4 --config Debug
- name: Run Conduit Unit Tests
run: |
echo "**** Conduit Unit Tests (asan)"
export ASAN_SYMBOLIZER_PATH=`which llvm-symbolizer`
export CWD=`pwd`
export LSAN_OPTIONS="suppressions=${CWD}/src/cmake/lsan.supp"
echo "ASAN_SYMBOLIZER_PATH=${ASAN_SYMBOLIZER_PATH}"
echo "LSAN_OPTIONS=${LSAN_OPTIONS}"
export CTEST_OUTPUT_ON_FAILURE=1
ctest --test-dir build
- name: Install Conduit
run: |
echo "**** Installing Conduit"
cmake --install build --config Debug
- name: Check Install
run: |
echo "**** Checking Conduit using-with-cmake example"
cd install/examples/conduit/using-with-cmake
cmake -S . -B build
cmake --build build --verbose -j4
./build/conduit_example
# - name: Check Install (MPI)
# run: |
# echo "**** Checking Conduit using-with-cmake-mpi example"
# export CC=/usr/bin/mpicc
# export CXX=/usr/bin/mpicxx
# cd install/examples/conduit/using-with-cmake-mpi
# cmake -S . -B build
# cmake --build build --verbose -j4
# mpiexec -n 2 ./build/conduit_mpi_example