debug qt location on macos #26
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: CI | |
on: | |
workflow_dispatch: | |
inputs: | |
logLevel: | |
description: 'Log level' | |
required: true | |
default: 'warning' | |
push: | |
jobs: | |
build: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies (Ubuntu) | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
sudo apt-get update | |
sudo apt install -y cmake \ | |
libexpat1-dev \ | |
libgl1-mesa-dev \ | |
libglu1-mesa-dev \ | |
libxt-dev \ | |
xorg-dev \ | |
build-essential \ | |
libharfbuzz-dev \ | |
qtbase5-dev \ | |
qtchooser \ | |
qt5-qmake \ | |
qtbase5-dev-tools | |
shell: bash | |
- name: Install dependencies (macOS) | |
if: matrix.os == 'macos-latest' | |
run: | | |
brew install qt@5 git wget cmake xquartz | |
- name: Cache Geant4 data | |
uses: actions/cache@v4 | |
id: cache-data | |
with: | |
path: ${{ env.HOME }}/geant4-data | |
key: ${{ runner.os }}-geant4-data-v11.1.3-${{ hashFiles('.github/workflows/g4data_urls.txt') }} | |
restore-keys: | | |
${{ runner.os }}-geant4-data-v11.1.3- | |
- name: Download Geant4 data | |
if: steps.cache-data.outputs.cache-hit != 'true' | |
run: | | |
mkdir -p $HOME/geant4-data | |
cd $HOME/geant4-data | |
while read url; do | |
wget "$url" | |
done < $GITHUB_WORKSPACE/.github/workflows/g4data_urls.txt | |
for file in *.tar.gz; do | |
tar -xzf "$file" | |
rm "$file" | |
done | |
shell: bash | |
- name: Clone Geant4 | |
run: | | |
cd $HOME | |
git clone https://github.com/Geant4/geant4 --branch v11.1.3 | |
shell: bash | |
- name: Install Geant4 (Ubuntu) | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
cd $HOME | |
mkdir geant4-build && cd geant4-build | |
cmake ../geant4 -DGEANT4_INSTALL_DATA=OFF \ | |
-DGEANT4_BUILD_MULTITHREADED=ON \ | |
-DCMAKE_PREFIX_PATH=/usr/lib/qt5 \ | |
-DGEANT4_USE_QT=ON \ | |
-DGEANT4_USE_OPENGL_X11=ON \ | |
-DGEANT4_USE_RAYTRACER_X11=ON \ | |
-DCMAKE_INSTALL_PREFIX=$HOME/geant4-install | |
make -j$(nproc) install | |
shell: bash | |
- name: Install Geant4 (macOS) | |
if: matrix.os == 'macos-latest' | |
run: | | |
cd $HOME | |
mkdir geant4-build && cd geant4-build | |
ls /opt/homebrew/opt/qt@5/5.15.11 | |
ls /opt/homebrew/opt/qt@5/5.15.11 | |
ls /opt/homebrew/Cellar/qt@5/5.15.11 | |
cmake ../geant4 -DGEANT4_INSTALL_DATA=OFF \ | |
-DGEANT4_BUILD_MULTITHREADED=ON \ | |
-DCMAKE_INSTALL_PREFIX=$HOME/geant4-install \ | |
-DCMAKE_PREFIX_PATH=/opt/homebrew/opt/qt@5/5.15.11 \ | |
-DGEANT4_USE_QT=ON \ | |
-DGEANT4_USE_OPENGL_X11=ON \ | |
-DGEANT4_USE_RAYTRACER_X11=ON | |
make -j$(nproc) install | |
shell: bash | |
- name: Compile GDCM | |
run: | | |
cp gdcm-2.6.8.tar.gz $HOME/ | |
cd $HOME | |
tar -zxf gdcm-2.6.8.tar.gz | |
mkdir gdcm-{build,install} | |
cd gdcm-build | |
cmake ../gdcm-2.6.8 -DGDCM_BUILD_SHARED_LIBS=ON\ | |
-DGDCM_BUILD_DOCBOOK_MANPAGES:BOOL=OFF\ | |
-DCMAKE_INSTALL_PREFIX=../gdcm-install | |
make -j$(nproc) install | |
shell: bash | |
- name: Compile TOPAS and add to PATH | |
run: | | |
cd $HOME | |
mkdir OpenTOPAS-{build,install} | |
cd OpenTOPAS-build | |
export Geant4_DIR=$HOME/geant4-install/ | |
export GDCM_DIR=$HOME/gdcm-install/ | |
cmake $GITHUB_WORKSPACE -DCMAKE_INSTALL_PREFIX=../OpenTOPAS-install | |
make -j$(nproc) install | |
echo "$(readlink -f $HOME/OpenTOPAS-install/bin/)" >> $GITHUB_PATH | |
shell: bash | |
- name: Install nrtest and nrtest-topas | |
run: | | |
pip3 install nrtest | |
pip3 install git+https://github.com/davidchall/nrtest-topas.git | |
shell: bash | |
- name: Clone qi-test and add configuration file | |
run: | | |
git clone https://github.com/OpenTOPAS/qi-opentopas.git | |
cp $GITHUB_WORKSPACE/.github/workflows/qi-topas-v4.0.json ./qi-opentopas/apps/ | |
shell: bash | |
- name: Run nrtest | |
run: | | |
cd qi-opentopas | |
TODAY=$(date +%Y-%m-%d) | |
export TOPAS_G4_DATA_DIR=$HOME/geant4-data | |
export LD_LIBRARY_PATH=$HOME/OpenTOPAS-install/lib:$LD_LIBRARY_PATH | |
export LD_LIBRARY_PATH=$HOME/geant4-install/lib:$LD_LIBRARY_PATH | |
topas --version | |
nrtest execute apps/qi-topas-v4.0.json tests/ -o benchmark/$TODAY | |
echo $(readlink -f benchmark/$TODAY) | |
shell: bash | |
- name: Upload test results | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: nrtest-results-${{ matrix.os }} | |
path: qi-opentopas/benchmark/ |