SAND CI #47
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: SAND CI [dev] | |
run-name: SAND CI | |
on: [push] | |
env: | |
root-version: v6-32-02 | |
geant4-version: v10.7.4 | |
edepsim-version: 3.2.0 | |
clhep-version: CLHEP_2_4_7_1 | |
jobs: | |
Explore-GitHub-Actions: | |
runs-on: ubuntu-latest | |
container: almalinux/9-base | |
steps: | |
############################################################################################################################# | |
# Install epel repo | |
############################################################################################################################# | |
- name: Install epel repo | |
run: yum install -y epel-release | |
############################################################################################################################# | |
# Install ROOT dependencies | |
############################################################################################################################# | |
- name: Install ROOT dependencies | |
run: | | |
yum install -y git make cmake gcc-c++ gcc binutils libX11-devel libXpm-devel libXft-devel libXext-devel python openssl-devel \ | |
xrootd-client-devel xrootd-libs-devel gcc-gfortran pcre-devel mesa-libGL-devel mesa-libGLU-devel glew-devel ftgl-devel \ | |
fftw-devel cfitsio-devel libuuid-devel openldap-devel python-devel python3-numpy libxml2-devel gsl-devel readline-devel \ | |
qt5-qtwebengine-devel | |
############################################################################################################################# | |
# Install GEANT4 dependencies | |
############################################################################################################################# | |
## https://xerces.apache.org/xerces-c/download.cgi | |
- name: Install GEANT4 dependencies | |
run: yum install -y xerces-c xerces-c-devel expat expat-devel zlib zlib-devel | |
############################################################################################################################# | |
# Cache for CLHEP | |
############################################################################################################################# | |
- name: CLHEP cache | |
id: cache-clhep | |
uses: actions/[email protected] | |
with: | |
# A list of files, directories, and wildcard patterns to cache and restore | |
path: | | |
~/clhep | |
# An explicit key for restoring and saving the cache | |
key: clhep-${{env.clhep-version}} | |
############################################################################################################################# | |
# Cache for ROOT | |
############################################################################################################################# | |
- name: ROOT cache | |
id: cache-root | |
uses: actions/[email protected] | |
with: | |
# A list of files, directories, and wildcard patterns to cache and restore | |
path: | | |
~/root | |
# An explicit key for restoring and saving the cache | |
key: root-${{env.root-version}} | |
############################################################################################################################# | |
# Cache for GEANT4 | |
############################################################################################################################# | |
- name: GEANT4 cache | |
id: cache-geant4 | |
uses: actions/[email protected] | |
with: | |
# A list of files, directories, and wildcard patterns to cache and restore | |
path: | | |
~/geant4 | |
# An explicit key for restoring and saving the cache | |
key: geant4-${{env.geant4-version}} | |
############################################################################################################################# | |
# Cache for EDEPSIM | |
############################################################################################################################# | |
- name: EDEPSIM cache | |
id: cache-edepsim | |
uses: actions/[email protected] | |
with: | |
# A list of files, directories, and wildcard patterns to cache and restore | |
path: | | |
~/edepsim | |
# An explicit key for restoring and saving the cache | |
key: edepsim-${{env.edepsim-version}}-root-${{env.root-version}}-geant4-${{env.geant4-version}}-edepsim-${{env.edepsim-version}} | |
############################################################################################################################# | |
# Install CLHEP | |
############################################################################################################################# | |
- name: Install CLHEP ${{env.clhep-version}} | |
if: steps.cache-clhep.outputs.cache-hit != 'true' | |
run: | | |
mkdir -p ~/clhep | |
cd ~/clhep | |
git clone --depth 1 --branch ${{env.clhep-version}} https://gitlab.cern.ch/CLHEP/CLHEP.git source | |
mkdir build | |
cd build | |
cmake -DCMAKE_INSTALL_PREFIX=.. ../source | |
make -j8 install | |
############################################################################################################################# | |
# Install ROOT | |
############################################################################################################################# | |
- name: Install ROOT ${{env.root-version}} | |
if: steps.cache-root.outputs.cache-hit != 'true' | |
run: | | |
mkdir -p ~/root | |
cd ~/root | |
git clone --depth 1 --branch ${{env.root-version}} https://github.com/root-project/root.git source | |
mkdir build | |
cd build | |
cmake -DCMAKE_INSTALL_PREFIX=.. ../source | |
make -j8 install | |
############################################################################################################################# | |
# Install GEANT4 | |
############################################################################################################################# | |
## https://geant4-userdoc.web.cern.ch/UsersGuides/InstallationGuide/html/installguide.html | |
- name: Install GEANT4 ${{env.geant4-version}} | |
if: steps.cache-geant4.outputs.cache-hit != 'true' | |
run: | | |
mkdir -p ~/geant4 | |
cd ~/geant4 | |
git clone --depth 1 --branch ${{env.geant4-version}} https://github.com/Geant4/geant4.git source | |
mkdir build | |
cd build | |
cmake -DCMAKE_INSTALL_PREFIX=.. -DGEANT4_USE_GDML=ON ../source | |
make -j8 install | |
############################################################################################################################# | |
# Install EDEPSIM | |
############################################################################################################################# | |
## https://github.com/ClarkMcGrew/edep-sim | |
- name: Install edepsim ${{env.edepsim-version}} | |
if: steps.cache-edepsim.outputs.cache-hit != 'true' | |
run: | | |
mkdir -p ~/edepsim | |
cd ~/edepsim | |
git clone --depth 1 --branch ${{env.edepsim-version}} https://github.com/ClarkMcGrew/edep-sim.git source | |
mkdir build | |
cd build | |
cmake -DCMAKE_INSTALL_PREFIX=.. -DCMAKE_PREFIX_PATH="~/geant4;~/root" ../source | |
make -j8 install | |
############################################################################################################################# | |
# Get sandreco | |
############################################################################################################################# | |
- name: Checkout sandreco | |
uses: actions/[email protected] | |
with: | |
# Relative path under $GITHUB_WORKSPACE to place the repository | |
path: sandreco/source | |
############################################################################################################################# | |
# Install sandreco | |
############################################################################################################################# | |
- name: Install sandreco | |
run: | | |
cd sandreco | |
mkdir build | |
cd build | |
cmake -DCMAKE_INSTALL_PREFIX=.. -DCMAKE_PREFIX_PATH="~/geant4;~/root;~/edepsim" ../source | |
make -j8 install |