Fix examples and add testing to CI #633
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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" | |