Skip to content

Merge branch '2024-01-n3lo-splittings-functions' of github.com:gavins… #178

Merge branch '2024-01-n3lo-splittings-functions' of github.com:gavins…

Merge branch '2024-01-n3lo-splittings-functions' of github.com:gavins… #178

Workflow file for this run

name: build
on:
push:
pull_request:
schedule:
#Every 50 days at midnight
- cron: "0 0 1/600 * *"
jobs:
Build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
#gcc_v: [10] # Version of GFortran we want to use.
#gcc_v: [7,8,9,10] # Version of GFortran we want to use.
gcc_v: [10,13] # Version of GFortran we want to use.
#python-version: [3.9]
env:
FC: gfortran-${{matrix.gcc_v}}
GCC_V: ${{matrix.gcc_v}}
steps:
- name: Set vars
id: vars
#run: echo ::set-output name=tag::${GITHUB_REF#refs/*/}
run: echo name=tag::${GITHUB_REF#refs/*/} >> $GITHUB_OUTPUT
- name: Checkout code
uses: actions/checkout@v3
with:
submodules: recursive
- name: Install GFortran Linux
if: contains( matrix.os, 'ubuntu')
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install -y gcc-${GCC_V} gfortran-${GCC_V}
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${GCC_V} 100 \
--slave /usr/bin/gfortran gfortran /usr/bin/gfortran-${GCC_V} \
--slave /usr/bin/gcov gcov /usr/bin/gcov-${GCC_V}
- name: configure_build_check
if: contains( matrix.os, 'ubuntu')
run: |
#FC=gfortran-${{matrix.gcc_v}}
#GCOV=gcov-${{matrix.gcc_v}}
# build and run unit tests
gfortran-${{matrix.gcc_v}} --version
./configure FC=gfortran-${{matrix.gcc_v}}
make -j4 check
# then make sure we can build also with the exact coefficient functions
make clean
./configure FC=gfortran-${{matrix.gcc_v}} --enable-exact-coefs
make -j4 check
compilejobFedorax86_64_GNU:
name: Fedorax86_64_GNU
runs-on: ubuntu-latest
container:
image: fedora:latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install
run: |
yum -y install gcc gcc-c++ gcc-gfortran make wget which cmake cmake-data cmake-filesystem lhapdf lhapdf-devel
- name: Compile
run: |
cmake -S . -B BUILD -DCMAKE_INSTALL_PREFIX=$(pwd)/../INSTALL -DHOPPET_ENABLE_FPES=ON -DCMAKE_BUILD_TYPE=Debug
cmake --build BUILD -j
cmake --install BUILD
ctest --test-dir BUILD -j 2 --output-on-failure
compilejobFedorax86_64_Intel_HPCKIT:
name: Fedorax86_64_Intel_HPCKIT
runs-on: ubuntu-latest
container: fedora:latest
steps:
- uses: actions/checkout@v3
- name: Install
run: |
dnf -y install findutils procps gcc gcc-c++ gcc-gfortran make wget which cmake cmake-data cmake-filesystem lhapdf lhapdf-devel
tee > /tmp/oneAPI.repo << EOF
[oneAPI]
name=Intel(R) oneAPI repository
baseurl=https://yum.repos.intel.com/oneapi
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
EOF
sudo mv /tmp/oneAPI.repo /etc/yum.repos.d/
dnf -y clean all
dnf -y install intel-oneapi-compiler-dpcpp-cpp intel-oneapi-compiler-fortran
source /opt/intel/oneapi/compiler/latest/env/vars.sh
- name: Compile_with_ifx
run: |
source /opt/intel/oneapi/compiler/latest/env/vars.sh
cmake -S . -B BUILDifx -DCMAKE_Fortran_COMPILER=ifx -DCMAKE_INSTALL_PREFIX=$(pwd)/../INSTALLifx
cmake --build BUILDifx -j
cmake --install BUILDifx
ctest --test-dir BUILDifx -j 2 --output-on-failure
- name: Compile_with_ifort
run: |
source /opt/intel/oneapi/compiler/latest/env/vars.sh
cmake -S . -B BUILDifort -DCMAKE_Fortran_COMPILER=ifort -DCMAKE_INSTALL_PREFIX=$(pwd)/../INSTALLifort
cmake --build BUILDifort -j
cmake --install BUILDifort
ctest --test-dir BUILDifort -j 2 --output-on-failure
compilejobCentos7_IBM_XL:
name: Centos7ppc64le_IBM_XL
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: QEMU
run: |
set -x
sudo apt update
sudo apt install --yes binfmt-support qemu-user-static wget
- name: Compile_with_xlf
uses: addnab/docker-run-action@v3
with:
image: ppc64le/centos
options: -v ${{ github.workspace }}:/work --platform=linux/ppc64le
run: |
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
yum -y install epel-release wget
wget https://public.dhe.ibm.com/software/server/POWER/Linux/xl-compiler/eval/ppc64le/rhel7/ibm-xl-compiler-eval.repo -O /etc/yum.repos.d/ibm-xl-compiler-eval.repo
sed -i 's/http:/https:/g' /etc/yum.repos.d/ibm-xl-compiler-eval.repo
yum -y install xlf cmake3 lhapdf-devel wget
pwd
ls
cd work
export PATH=/opt/ibm/xlf/16.1.1/bin/:$PATH
export LICENSE=accept
xlf_configure <<< 1 >/dev/null
cmake3 -S . -B BUILDxlf -DCMAKE_Fortran_COMPILER=xlf -DCMAKE_INSTALL_PREFIX=$(pwd)/../INSTALLxlf
cmake3 --build BUILDxlf -j
cmake3 --install BUILDxlf
ctest3 --test-dir BUILDxlf -j 2 --output-on-failure
compilejobOSX:
runs-on: macos-latest
name: OSXx86_64_GNU
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install
run: |
brew install wget coreutils gcc
brew tap davidchall/hep
brew install lhapdf
- name: Compile
run: |
cmake -S . -B BUILD -DCMAKE_INSTALL_PREFIX=$(pwd)/../INSTALL -DCMAKE_Fortran_COMPILER=gfortran-13 -DHOPPET_ENABLE_FPES=ON -DCMAKE_BUILD_TYPE=Debug
cmake --build BUILD -j 2
cmake --install BUILD
ctest --test-dir BUILD -j 2 --output-on-failure