Skip to content

Gambit Mac Arm64 CI #1023

Gambit Mac Arm64 CI

Gambit Mac Arm64 CI #1023

Workflow file for this run

name: Gambit Mac Arm64 CI
on:
push:
branches: [ master, ci-* ]
pull_request:
branches: [ master ]
schedule:
- cron: '0 5 * * *'
jobs:
gambit_build:
runs-on: [self-hosted, macOS, Arm64]
strategy:
fail-fast: false
matrix:
arch: [Arm64]
defaults:
run:
shell: bash -eo pipefail {0}
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up build environment
run: |
echo "Set up the build environment"
mkdir -p BUILD
cd BUILD
- name: Configure with cmake
run: |
echo "Configure with cmake"
cd BUILD
# Temporary ditch ColliderBit due to YODA/Python problem mentioned here: https://github.com/GambitBSM/gambit/pull/509#issuecomment-2413565672
# cmake -D PYTHON_EXECUTABLE=/usr/bin/python3 -D PYTHON_LIBRARY=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/Current/Python3 -D PYTHON_INCLUDE_DIR=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Headers -DCMAKE_CXX_FLAGS="-rdynamic" -DWITH_MPI=ON -DWITH_HEPMC=ON -DWITH_YODA=ON -DBUILD_FS_MODELS="CMSSM;MSSM;MDM" -Ditch="micromegas_DMsimpVectorMedVectorDM" ..
cmake -D PYTHON_EXECUTABLE=/usr/bin/python3 -D PYTHON_LIBRARY=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/Current/Python3 -D PYTHON_INCLUDE_DIR=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Headers -DCMAKE_CXX_FLAGS="-rdynamic" -DWITH_MPI=ON -DWITH_HEPMC=OFF -DWITH_YODA=OFF -DBUILD_FS_MODELS="CMSSM;MSSM;MDM" -Ditch="ColliderBit;micromegas_DMsimpVectorMedVectorDM" ..
- name: Build scanners
run: |
echo "Build scanners"
cd BUILD
make -j $(( $(sysctl -n hw.ncpu)/2 )) scanners
cmake ..
- name: Build Gambit
run: |
echo "Build GAMBIT."
cd BUILD
# Now build Gambit
make -j $(( $(sysctl -n hw.ncpu)/2 )) gambit
- name: CLI test
run: |
echo "Run the test of gambit help"
./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:
if: ${{ !cancelled() }}
needs: [gambit_build] # Sets run order
runs-on: [self-hosted, macOS, Arm64]
strategy:
fail-fast: false
matrix:
arch: [Arm64]
defaults:
run:
shell: bash -eo pipefail {0}
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up build environment
run: |
echo "Set up the build environment"
mkdir -p BUILD
cd BUILD
- name: Configure with cmake
run: |
echo "Configure with cmake"
cd BUILD
# Temporary ditch ColliderBit due to YODA/Python problem mentioned here: https://github.com/GambitBSM/gambit/pull/509#issuecomment-2413565672
# cmake -D PYTHON_EXECUTABLE=/usr/bin/python3 -D PYTHON_LIBRARY=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/Current/Python3 -D PYTHON_INCLUDE_DIR=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Headers -DCMAKE_CXX_FLAGS="-rdynamic" -DWITH_MPI=ON -DWITH_HEPMC=ON -DWITH_YODA=ON -DBUILD_FS_MODELS="CMSSM;MSSM;MDM" -Ditch="micromegas_DMsimpVectorMedVectorDM" ..
cmake -D PYTHON_EXECUTABLE=/usr/bin/python3 -D PYTHON_LIBRARY=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/Current/Python3 -D PYTHON_INCLUDE_DIR=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Headers -DCMAKE_CXX_FLAGS="-rdynamic" -DWITH_MPI=ON -DWITH_HEPMC=OFF -DWITH_YODA=OFF -DBUILD_FS_MODELS="CMSSM;MSSM;MDM" -Ditch="ColliderBit;micromegas_DMsimpVectorMedVectorDM" ..
- name: Build Backends
run: |
echo "Building all Backends"
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"
test_runs:
if: ${{ !cancelled() }}
needs: [gambit_build, backends_build] # Sets run order
runs-on: [self-hosted, macOS, Arm64]
strategy:
fail-fast: false
matrix:
arch: [Arm64]
defaults:
run:
shell: bash -eo pipefail {0}
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up build environment
run: |
echo "Set up the build environment"
mkdir -p BUILD
cd BUILD
- name: Configure with cmake
run: |
echo "Configure with cmake"
cd BUILD
# Temporary ditch ColliderBit due to YODA/Python problem mentioned here: https://github.com/GambitBSM/gambit/pull/509#issuecomment-2413565672
# cmake -D PYTHON_EXECUTABLE=/usr/bin/python3 -D PYTHON_LIBRARY=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/Current/Python3 -D PYTHON_INCLUDE_DIR=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Headers -DCMAKE_CXX_FLAGS="-rdynamic" -DWITH_MPI=ON -DWITH_HEPMC=ON -DWITH_YODA=ON -DBUILD_FS_MODELS="CMSSM;MSSM;MDM" -Ditch="micromegas_DMsimpVectorMedVectorDM" ..
cmake -D PYTHON_EXECUTABLE=/usr/bin/python3 -D PYTHON_LIBRARY=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/Current/Python3 -D PYTHON_INCLUDE_DIR=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Headers -DCMAKE_CXX_FLAGS="-rdynamic" -DWITH_MPI=ON -DWITH_HEPMC=OFF -DWITH_YODA=OFF -DBUILD_FS_MODELS="CMSSM;MSSM;MDM" -Ditch="ColliderBit;micromegas_DMsimpVectorMedVectorDM" ..
- name: Build required scanners
run: |
echo "Build scanners required for test runs"
cd BUILD
make -j $(( $(sysctl -n hw.ncpu)/2 )) diver
cmake ..
- name: Build required backends
run: |
echo "Building backends required for test runs"
cd BUILD
make pythia
make higgssignals
make nulike
make ATLAS_FullLikes
make susyhit
make heplike
make superiso
make rivet
make contur
echo "Running cmake again, since this is required for ColliderBit/pythia"
cmake ..
- name: Build Gambit
run: |
echo "Build GAMBIT."
cd BUILD
# Now build Gambit
make -j $(( $(sysctl -n hw.ncpu)/2 )) gambit
- name: Run ColliderBit_CMSSM.yaml
run: |
echo "Test run with ColliderBit_CMSSM.yaml"
./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
standalones_build:
if: ${{ !cancelled() }}
needs: [gambit_build, backends_build, test_runs] # Sets run order
runs-on: [self-hosted, macOS, Arm64]
strategy:
fail-fast: false
matrix:
arch: [Arm64]
defaults:
run:
shell: bash -eo pipefail {0}
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up build environment
run: |
echo "Set up the build environment"
mkdir -p BUILD
cd BUILD
- name: Configure with cmake
run: |
echo "Configure with cmake"
cd BUILD
# Temporary ditch ColliderBit due to YODA/Python problem mentioned here: https://github.com/GambitBSM/gambit/pull/509#issuecomment-2413565672
# cmake -D PYTHON_EXECUTABLE=/usr/bin/python3 -D PYTHON_LIBRARY=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/Current/Python3 -D PYTHON_INCLUDE_DIR=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Headers -DCMAKE_CXX_FLAGS="-rdynamic" -DWITH_MPI=ON -DWITH_HEPMC=ON -DWITH_YODA=ON -DBUILD_FS_MODELS="CMSSM;MSSM;MDM" -Ditch="micromegas_DMsimpVectorMedVectorDM" ..
cmake -D PYTHON_EXECUTABLE=/usr/bin/python3 -D PYTHON_LIBRARY=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/Current/Python3 -D PYTHON_INCLUDE_DIR=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Headers -DCMAKE_CXX_FLAGS="-rdynamic" -DWITH_MPI=ON -DWITH_HEPMC=OFF -DWITH_YODA=OFF -DBUILD_FS_MODELS="CMSSM;MSSM;MDM" -Ditch="ColliderBit;micromegas_DMsimpVectorMedVectorDM" ..
- name: Build standalones
run: |
echo "Test the building of the standalones"
cd BUILD
make standalones