Skip to content

update CIL and CCPi-Regularisation version and reinstate tests #750

update CIL and CCPi-Regularisation version and reinstate tests

update CIL and CCPi-Regularisation version and reinstate tests #750

Workflow file for this run

name: native
on:
push:
branches: [master]
paths-ignore:
- 'docker/Dockerfile'
- 'docker/*yml'
- '**.md'
- 'VirtualBox/**'
- '.github/workflows/*docker*'
- 'CITATION.cff'
- '.mailmap'
- 'NOTICE.txt'
- 'LICENSE.txt'
pull_request:
branches: [master]
paths-ignore:
- 'docker/Dockerfile'
- 'docker/*yml'
- '**.md'
- 'VirtualBox/**'
- '.github/workflows/*docker*'
- 'CITATION.cff'
- '.mailmap'
- 'NOTICE.txt'
- 'LICENSE.txt'
workflow_dispatch:
inputs:
tmate:
description: Debug with tmate ssh session
type: boolean
default: false
required: true
jobs:
build-test:
runs-on: ${{ matrix.os }}
defaults: {run: {shell: 'bash -el {0}'}}
env:
COMPILER: gcc
BUILD_TYPE: Release
strategy:
matrix:
include:
- os: ubuntu-latest
compiler_version: 9
EXTRA_BUILD_FLAGS: "-DUSE_ITK=ON -DBUILD_CIL=ON -DUSE_SYSTEM_ACE=ON -DUSE_SYSTEM_Armadillo=ON -DUSE_SYSTEM_Boost=ON -DUSE_SYSTEM_FFTW3=ON -DUSE_SYSTEM_HDF5=ON -DBUILD_siemens_to_ismrmrd=ON -DUSE_SYSTEM_SWIG=ON"
DEVEL_BUILD: "OFF"
- os: ubuntu-latest
compiler_version: 9
EXTRA_BUILD_FLAGS: "-DUSE_ITK=ON -DBUILD_CIL=ON -DUSE_SYSTEM_ACE=ON -DUSE_SYSTEM_Armadillo=ON -DUSE_SYSTEM_Boost=ON -DUSE_SYSTEM_FFTW3=OFF -DUSE_SYSTEM_HDF5=OFF -DBUILD_siemens_to_ismrmrd=ON -DUSE_SYSTEM_SWIG=OFF"
DEVEL_BUILD: "OFF"
#- os: ubuntu-latest
# compiler_version: 9
# EXTRA_BUILD_FLAGS: "-DUSE_ITK=ON -DBUILD_CIL=ON -DUSE_SYSTEM_ACE=ON -DUSE_SYSTEM_Armadillo=ON -DUSE_SYSTEM_Boost=OFF -DUSE_SYSTEM_FFTW3=ON -DUSE_SYSTEM_HDF5=ON -DBUILD_siemens_to_ismrmrd=ON -DUSE_SYSTEM_SWIG=ON"
# DEVEL_BUILD: "OFF"
- os: ubuntu-latest
compiler_version: 9
EXTRA_BUILD_FLAGS: "-DUSE_ITK=ON -DBUILD_CIL=ON -DUSE_SYSTEM_ACE=ON -DUSE_SYSTEM_Armadillo=ON -DUSE_SYSTEM_Boost=ON -DUSE_SYSTEM_FFTW3=ON -DUSE_SYSTEM_HDF5=ON -DBUILD_siemens_to_ismrmrd=ON -DUSE_SYSTEM_SWIG=ON -DUSE_SYSTEM_GTest=OFF"
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"
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"
DEVEL_BUILD: "OFF"
fail-fast: false # don't terminate matrix if one job fails
steps:
- uses: actions/checkout@v4
- if: contains(matrix.os, fromJSON('["ubuntu","macos"]'))
name: increase disk space
run: sudo .github/workflows/GHA_increase_disk_space.sh
- id: deps
name: install dependencies
working-directory: docker
run: |
sudo ./raw-ubuntu.sh
sudo ./build_system-ubuntu.sh
sudo ./build_essential-ubuntu.sh
sudo ./build_gadgetron-ubuntu.sh
sudo ./build_python-ubuntu.sh
echo "python-version=$(python3 --version | awk '{print $2}')" >> $GITHUB_OUTPUT
- uses: actions/setup-python@v5
with:
python-version: '${{ steps.deps.outputs.python-version }}'
cache: pip
- name: pip install
working-directory: docker
run: PYTHON_EXECUTABLE=python3 PYTHON_INSTALL_DIR="$HOME/virtualenv" ./user_python-ubuntu.sh
- uses: hendrikmuhs/ccache-action@v1
with:
key: ${{ matrix.os }}-${{ env.COMPILER }}-${{ matrix.compiler_version }}-${{ env.BUILD_TYPE }}-${{ github.ref_name }}-${{ github.run_id }}
restore-keys: |
${{ matrix.os }}-${{ env.COMPILER }}-${{ matrix.compiler_version }}-${{ env.BUILD_TYPE }}-${{ github.ref_name }}
${{ matrix.os }}-${{ env.COMPILER }}-${{ matrix.compiler_version }}-${{ env.BUILD_TYPE }}
append-timestamp: false
- name: export CC CXX
run: |
set -ex
if test '${{ env.COMPILER }}' = clang; then
CC=clang
CXX=clang++
elif test '${{ env.COMPILER }}' = gcc; then
CC=gcc
CXX=g++
fi
if test -n '${{ matrix.compiler_version }}'; then
CC=${CC}-${{ matrix.compiler_version }}
CXX=${CXX}-${{ matrix.compiler_version }}
sudo apt install -yq ${CXX} ${CC}
fi
# make available to jobs below
echo "CC=$CC" >> $GITHUB_ENV
echo "CXX=$CXX" >> $GITHUB_ENV
- name: cmake -S .
env:
EXTRA_BUILD_FLAGS: ${{ matrix.EXTRA_BUILD_FLAGS }}
CMAKE_BUILD_TYPE: ${{ env.BUILD_TYPE }}
DEVEL_BUILD: "-DDEVEL_BUILD=${{ matrix.DEVEL_BUILD }}"
run: |
set -ex
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
export superbuild=`pwd`
export BUILD_FLAGS="-DCMAKE_INSTALL_PREFIX=~/install -DPYVER=3 -DUSE_SYSTEM_RocksDB=OFF -DBUILD_TESTING_Gadgetron:BOOL=ON"
source ~/virtualenv/bin/activate
cmake -S ${GITHUB_WORKSPACE} -B ./build ${BUILD_FLAGS} ${EXTRA_BUILD_FLAGS} ${DEVEL_BUILD};
- name: cmake --build
run: |
source ~/virtualenv/bin/activate
cmake --build ./build -j 2
# tmate ssh debugging
- if: github.event_name == 'workflow_dispatch' && github.event.inputs.tmate == 'true'
uses: mxschmitt/action-tmate@v3
timeout-minutes: 15
- if: failure()
name: Upload build log files for debugging
uses: actions/upload-artifact@v4
with:
name: build_log_files-${{ matrix.os }}-${{ env.COMPILER }}${{ matrix.compiler_version }}-${{ env.BUILD_TYPE }}-DEVEL=${{ matrix.DEVEL_BUILD }}
path: ${{ github.workspace }}/build/**/*.log
retention-days: 7
- name: ctest
run: ./docker/ctest_sirf.sh