Skip to content

Merge pull request #378 from JeffersonLab/nbrei_optimization #730

Merge pull request #378 from JeffersonLab/nbrei_optimization

Merge pull request #378 from JeffersonLab/nbrei_optimization #730

Workflow file for this run

name: C/C++ CI docker
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
jana2_env_everything_except_cuda:
name: Build JANA2 with all dependencies except CUDA
runs-on: ubuntu-latest
container:
image: nbrei/jana2_env_everything_except_cuda
steps:
- uses: actions/checkout@v4
- name: build
run: |
cmake -S . -B build -DCMAKE_INSTALL_PREFIX=`pwd` \
-DUSE_PYTHON=ON \
-DUSE_ROOT=ON \
-DUSE_PODIO=ON \
-DUSE_XERCES=ON \
-DUSE_ZEROMQ=ON \
-DXercesC_DIR=/usr \
-Dpodio_DIR=/app/podio/install/lib/cmake/podio/
cmake --build build --target install
- name: Examine dynamic linking
run: |
echo "ldd bin/jana"
ldd bin/jana
echo "ldd bin/libJANA.so"
ldd lib/libJANA.so
echo "bin/jana rpath"
objdump -x bin/jana | grep PATH
echo "lib/libJANA.so rpath"
objdump -x lib/libJANA.so | grep PATH
echo "lib/JANA/plugins/TimesliceExample.so"
objdump -x lib/JANA/plugins/TimesliceExample.so | grep PATH
echo "bin/PodioExample"
objdump -x bin/PodioExample | grep PATH
- name: JTest
run: |
export LD_LIBRARY_PATH=/app/podio/install/lib:$LD_LIBRARY_PATH
# Note that podio needs to be on the LD_LIBRARY_PATH, not merely someone's RPath, because
# Cling needs to be able to find the libpodioDict*
ctest --test-dir build --output-on-failure -R jana-plugin-jtest-tests
- name: jana-unit-tests
run: |
export LD_LIBRARY_PATH=/app/podio/install/lib:$LD_LIBRARY_PATH
ctest --test-dir build --output-on-failure -R jana-unit-tests
- name: TimesliceExample with simple (physics event) topology
run: |
export LD_LIBRARY_PATH=/app/podio/install/lib:$LD_LIBRARY_PATH
ctest --test-dir build --output-on-failure -R jana-example-timeslices-simple-tests
- name: TimesliceExample with complex (timeslice) topology
run: |
export LD_LIBRARY_PATH=/app/podio/install/lib:$LD_LIBRARY_PATH
ctest --test-dir build --output-on-failure -R jana-example-timeslices-complex-tests
- name: Janadot
run: |
export LD_LIBRARY_PATH=/app/podio/install/lib:$LD_LIBRARY_PATH
ctest --test-dir build --output-on-failure -R jana-plugin-janadot-tests
- name: Other examples
run: |
export LD_LIBRARY_PATH=/app/podio/install/lib:$LD_LIBRARY_PATH
ctest --test-dir build --output-on-failure -R "jana-example-dst-tests|jana-example-tutorial-tests|jana-example-eventgroup-tests|jana-example-unit-tests|jana-example-podio-tests"