Skip to content

Commit

Permalink
[GHA] use system ROOT (#901)
Browse files Browse the repository at this point in the history
* download ROOT as opposed to building it due to continuing problems on GitHub Actions, see #899
* export ROOT environment and Vdt_ROOT to GITHUB_ENV (the latter is needed for the ROOT version we use)
* add CMP0074 to SIRF to be able to use Vdt_ROOT (pending SyneRBI/SIRF#1261)
  • Loading branch information
KrisThielemans authored May 31, 2024
1 parent 8c505fe commit bd0f6bf
Showing 1 changed file with 37 additions and 2 deletions.
39 changes: 37 additions & 2 deletions .github/workflows/c-cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,11 @@ jobs:
DEVEL_BUILD: "OFF"
- os: ubuntu-latest
compiler_version: 11
EXTRA_BUILD_FLAGS: "-DUSE_ITK=ON -DBUILD_CIL=ON -DUSE_SYSTEM_ACE=ON -DUSE_SYSTEM_Armadillo=OFF -DUSE_SYSTEM_Boost=ON -DUSE_SYSTEM_FFTW3=ON -DUSE_SYSTEM_HDF5=ON -DBUILD_siemens_to_ismrmrd=ON -DUSE_SYSTEM_SWIG=ON -DUSE_ROOT:BOOL=ON"
EXTRA_BUILD_FLAGS: "-DUSE_ITK=ON -DBUILD_CIL=ON -DUSE_SYSTEM_ACE=ON -DUSE_SYSTEM_Armadillo=OFF -DUSE_SYSTEM_Boost=ON -DUSE_SYSTEM_FFTW3=ON -DUSE_SYSTEM_HDF5=ON -DBUILD_siemens_to_ismrmrd=ON -DUSE_SYSTEM_SWIG=ON -DUSE_ROOT:BOOL=ON -DUSE_SYSTEM_ROOT=ON -DSIRF_EXTRA_CMAKE_ARGS=-DCMAKE_POLICY_DEFAULT_CMP0074=NEW" # note: SIRF needs CMP0074 with older versions of pre-built ROOT (see below)
DEVEL_BUILD: "ON"
- os: ubuntu-latest
compiler_version: 11
EXTRA_BUILD_FLAGS: "-DUSE_ITK=ON -DBUILD_CIL=ON -DUSE_SYSTEM_ACE=ON -DUSE_SYSTEM_Armadillo=OFF -DUSE_SYSTEM_Boost=ON -DUSE_SYSTEM_FFTW3=ON -DUSE_SYSTEM_HDF5=ON -DBUILD_siemens_to_ismrmrd=ON -DUSE_SYSTEM_SWIG=ON -DUSE_ROOT:BOOL=ON"
EXTRA_BUILD_FLAGS: "-DUSE_ITK=ON -DBUILD_CIL=ON -DUSE_SYSTEM_ACE=ON -DUSE_SYSTEM_Armadillo=OFF -DUSE_SYSTEM_Boost=ON -DUSE_SYSTEM_FFTW3=ON -DUSE_SYSTEM_HDF5=ON -DBUILD_siemens_to_ismrmrd=ON -DUSE_SYSTEM_SWIG=ON -DUSE_ROOT:BOOL=ON -DUSE_SYSTEM_ROOT=ON -DSIRF_EXTRA_CMAKE_ARGS=-DCMAKE_POLICY_DEFAULT_CMP0074=NEW" # note: SIRF needs CMP0074 with older versions of pre-built ROOT (see below)
DEVEL_BUILD: "OFF"
fail-fast: false # don't terminate matrix if one job fails
steps:
Expand All @@ -81,6 +81,41 @@ jobs:
sudo ./build_gadgetron-ubuntu.sh
sudo ./build_python-ubuntu.sh
echo "python-version=$(python3 --version | awk '{print $2}')" >> $GITHUB_OUTPUT
- name: optionally install ROOT
env:
EXTRA_BUILD_FLAGS: ${{ matrix.EXTRA_BUILD_FLAGS }}
run: |
sh -ex
if expr match "${EXTRA_BUILD_FLAGS}" ".*-DUSE_SYSTEM_ROOT=ON.*" >/dev/null
then
# Install ROOT (warning: currently only valid on Ubuntu)
ROOT_file=root_v6.28.12.Linux-ubuntu20-x86_64-gcc9.4.tar.gz
wget https://root.cern/download/"$ROOT_file"
tar -xzf "$ROOT_file"
rm "$ROOT_file"
source root/bin/thisroot.sh
echo ROOT_DIR="$ROOTSYS/cmake" >> $GITHUB_ENV
echo ROOTSYS="$ROOTSYS" >> $GITHUB_ENV
echo
# work-around problem with problem with Vdt for ROOT version pre-6.30.04 as per https://github.com/root-project/root/pull/14178
echo Vdt_ROOT="$ROOTSYS" >> $GITHUB_ENV
# thisroot modifies the following
case ${{matrix.os}} in
(ubuntu*)
echo LD_LIBRARY_PATH="${CMAKE_INSTALL_PREFIX}/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
echo PATH="$PATH" >> $GITHUB_ENV
;;
(macOS*) # future-proof
echo DYLD_FALLBACK_LIBRARY_PATH="${CMAKE_INSTALL_PREFIX}/lib:$DYLD_FALLBACK_LIBRARY_PATH" >> $GITHUB_ENV
echo PATH="$PATH" >> $GITHUB_ENV
;;
(windows*) # future-proof
echo PATH="${CMAKE_INSTALL_PREFIX}/lib:${CMAKE_INSTALL_PREFIX}/bin:$PATH" >> $GITHUB_ENV
;;
esac
fi
- uses: actions/setup-python@v5
with:
python-version: '${{ steps.deps.outputs.python-version }}'
Expand Down

0 comments on commit bd0f6bf

Please sign in to comment.