Skip to content

Gambit Linux X64 CI on GH Runner #107

Gambit Linux X64 CI on GH Runner

Gambit Linux X64 CI on GH Runner #107

Workflow file for this run

name: Gambit Linux X64 CI on GH Runner
on:
push:
branches: [ master, ci-* ]
pull_request:
branches: [ master ]
schedule:
- cron: '0 5 * * *'
jobs:
gambit_build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
arch: [X64]
defaults:
run:
shell: bash -eo pipefail {0}
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install required packages
run: |
## Compulsory packages to compile GAMBIT
sudo apt-get update && \
sudo apt-get -y install --no-install-recommends \
build-essential \
gfortran \
cmake \
git \
python3-yaml \
libboost-all-dev \
libgsl-dev \
libeigen3-dev \
liblapack-dev \
pkg-config && \
sudo apt-get clean
## Optional packages for extended GAMBIT functionality
sudo apt-get -y install --no-install-recommends \
libhdf5-dev \
libopenmpi-dev \
libcfitsio-dev \
libfftw3-dev \
libxml2-dev \
libgmp-dev \
libmpfr-dev \
libmpc-dev \
python3-venv \
python3-pip \
python3-dev \
libhdf5-dev && \
sudo apt-get clean
sudo mkdir -p /opt/venv
# Set up Python virtual environment and install packages
sudo python3 -m venv /opt/venv && \
/opt/venv/bin/python -m pip install --upgrade pip setuptools wheel && \
python3 -m pip install \
cython \
numpy \
scipy \
numba \
matplotlib \
future \
pyyaml \
dill
export PATH="/opt/venv/bin:${PATH}"
- name: Set up build environment
run: |
mkdir -p BUILD
cd BUILD
- name: Configure with cmake
run: |
cd BUILD
cmake -DWITH_MPI=ON -Ditch="great;CosmoBit;NeutrinoBit;ExampleBit_B;mathematica;DarkBit;ColliderBit;FlavBit;PrecisionBit" ..
- name: Build scanners
run: |
cd BUILD
make -j10 scanners
cmake ..
- name: Build Gambit
run: |
cd BUILD
make -j10 gambit
- name: CLI test
run: |
./gambit -h
- name: Run spartan.yaml
run: |
echo "Testing spartan.yaml (with cout printer)"
sed -i 's/ hdf5/ cout/g' yaml_files/spartan.yaml
./gambit -rf yaml_files/spartan.yaml
backends_build:
needs: [gambit_build] # Sets run order
if: ${{ !cancelled() }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
arch: [X64]
defaults:
run:
shell: bash -eo pipefail {0}
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install required packages
run: |
## Compulsory packages to compile GAMBIT
sudo apt-get update && \
sudo apt-get -y install --no-install-recommends \
build-essential \
gfortran \
cmake \
git \
python3-yaml \
libboost-all-dev \
libgsl-dev \
libeigen3-dev \
liblapack-dev \
pkg-config && \
sudo apt-get clean
## Optional packages for extended GAMBIT functionality
sudo apt-get -y install --no-install-recommends \
libhdf5-dev \
libopenmpi-dev \
libcfitsio-dev \
libfftw3-dev \
libxml2-dev \
libgmp-dev \
libmpfr-dev \
libmpc-dev \
python3-venv \
python3-pip \
python3-dev \
libhdf5-dev && \
sudo apt-get clean
sudo mkdir -p /opt/venv
# Set up Python virtual environment and install packages
sudo python3 -m venv /opt/venv && \
/opt/venv/bin/python -m pip install --upgrade pip setuptools wheel && \
python3 -m pip install \
cython \
numpy \
scipy \
numba \
matplotlib \
future \
pyyaml \
dill
export PATH="/opt/venv/bin:${PATH}"
- name: Set up build environment
run: |
mkdir -p BUILD
cd BUILD
- name: Configure with cmake
run: |
cd BUILD
cmake -DWITH_MPI=ON -DWITH_HEPMC=ON -DBUILD_FS_MODELS="CMSSM;MSSM;MDM" -Ditch="great" ..
- name: Build Backends
run: |
cd BUILD
# Build backends, except those that are tested via other jobs.
# This replaces the "make backends" command.
../cmake/scripts/build_backends.sh -f default_backends.txt -j 1 -s "nulike susyhit rivet contur pythia higgsbounds higgssignals ATLAS_FullLikes superiso heplikedata heplike"
run_tests:
needs: [gambit_build, backends_build] # Sets run order
if: ${{ !cancelled() }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
arch: [X64]
defaults:
run:
shell: bash -eo pipefail {0}
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install required packages
run: |
## Compulsory packages to compile GAMBIT
sudo apt-get update && \
sudo apt-get -y install --no-install-recommends \
build-essential \
gfortran \
cmake \
git \
python3-yaml \
libboost-all-dev \
libgsl-dev \
libeigen3-dev \
liblapack-dev \
pkg-config && \
sudo apt-get clean
## Optional packages for extended GAMBIT functionality
sudo apt-get -y install --no-install-recommends \
libhdf5-dev \
libopenmpi-dev \
libcfitsio-dev \
libfftw3-dev \
libxml2-dev \
libgmp-dev \
libmpfr-dev \
libmpc-dev \
python3-venv \
python3-pip \
python3-dev \
libhdf5-dev && \
sudo apt-get clean
sudo mkdir -p /opt/venv
# Set up Python virtual environment and install packages
sudo python3 -m venv /opt/venv && \
/opt/venv/bin/python -m pip install --upgrade pip setuptools wheel && \
python3 -m pip install \
cython \
numpy \
scipy \
numba \
matplotlib \
future \
pyyaml \
dill
export PATH="/opt/venv/bin:${PATH}"
- name: Set up build environment
run: |
mkdir -p BUILD
cd BUILD
- name: Configure with cmake
run: |
cd BUILD
cmake -DWITH_MPI=ON -DWITH_HEPMC=ON -DBUILD_FS_MODELS="CMSSM;MSSM;MDM" -Ditch="great" ..
- name: Build scanners
run: |
cd BUILD
make -j10 diver
cmake ..
- name: Build Backends
run: |
cd BUILD
make pythia
make higgssignals
make nulike
make ATLAS_FullLikes
make susyhit
make heplike
make superiso
make rivet
make contur
- name: Build Gambit
run: |
cd BUILD
make -j10 gambit
- name: Run ColliderBit_CMSSM.yaml
run: |
./gambit -f yaml_files/ColliderBit_CMSSM.yaml
- name: Run WC_lite.yaml
run: |
echo "Test run with WC_lite.yaml (no printing)"
sed -i "" 's/ hdf5/ none/g' yaml_files/WC_lite.yaml
./gambit -f yaml_files/WC_lite.yaml
build_standalones:
needs: [gambit_build, backends_build, run_tests] # Sets run order
if: ${{ !cancelled() }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
arch: [X64]
defaults:
run:
shell: bash -eo pipefail {0}
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install required packages
run: |
## Compulsory packages to compile GAMBIT
sudo apt-get update && \
sudo apt-get -y install --no-install-recommends \
build-essential \
gfortran \
cmake \
git \
python3-yaml \
libboost-all-dev \
libgsl-dev \
libeigen3-dev \
liblapack-dev \
pkg-config && \
sudo apt-get clean
## Optional packages for extended GAMBIT functionality
sudo apt-get -y install --no-install-recommends \
libhdf5-dev \
libopenmpi-dev \
libcfitsio-dev \
libfftw3-dev \
libxml2-dev \
libgmp-dev \
libmpfr-dev \
libmpc-dev \
python3-venv \
python3-pip \
python3-dev \
libhdf5-dev && \
sudo apt-get clean
sudo mkdir -p /opt/venv
# Set up Python virtual environment and install packages
sudo python3 -m venv /opt/venv && \
/opt/venv/bin/python -m pip install --upgrade pip setuptools wheel && \
python3 -m pip install \
cython \
numpy \
scipy \
numba \
matplotlib \
future \
pyyaml \
dill
export PATH="/opt/venv/bin:${PATH}"
- name: Set up build environment
run: |
mkdir -p BUILD
cd BUILD
- name: Configure with cmake
run: |
cd BUILD
cmake -DWITH_MPI=ON -DWITH_HEPMC=ON -DBUILD_FS_MODELS="CMSSM;MSSM;MDM" -Ditch="great" ..
- name: Build Standalones
run: |
cd BUILD
make standalones