Skip to content

restructure cmake files into multiple files #858

restructure cmake files into multiple files

restructure cmake files into multiple files #858

Workflow file for this run

name: Checks
on:
push:
branches:
- main
pull_request:
branches:
- main
# Settings go here!
env:
BUILD_TYPE: Release
ANALYSIS: unittest
CONFIG: unittest_config
SAMPLES: dyjets
ERAS: 2018
SCOPES: "mt,mm,et"
SHIFTS: "all"
SINGLE_FRIEND_SCOPES: "mt,mm"
SINGLE_FRIEND_CONFIG: unittest_friends
TWO_FRIENDS_SCOPES: "mt"
TWO_FRIENDS_CONFIG: unittest_friends_2
FRIEND_SHIFTS: "nominal,jesUncTotalUp,jesUncTotalDown,tauMuFakeEsDown"
jobs:
build_project:
runs-on: ubuntu-20.04
container:
image: rootproject/root:6.28.10-ubuntu22.04
options: --user 0 # run as root
steps:
# - name: update Arch keyring
# run: pacman -Sc --noconfirm && pacman -Syy --noconfirm && pacman -Sy archlinux-keyring --noconfirm
# - name: Install missing software
# run: pacman -Syu --noconfirm cmake make git python-pip openmp openmpi boost openssh --ignore root --ignore openssl
# - name: Install python packages
# run: python -m pip install GitPython --break-system-packages && python -m pip install git+https://github.com/cms-nanoAOD/correctionlib.git --break-system-packages
- name: update ubuntu
run: apt-get -y update
- name: install packages
run: apt-get install -y git cmake make python3-pip openmpi-bin libopenmpi-dev libboost-all-dev openssh-client
- name: install python packages
run: python3 -m pip install GitPython && python3 -m pip install git+https://github.com/cms-nanoAOD/correctionlib.git
- name: Clone project
uses: actions/checkout@v3
with:
ssh-key: ${{ secrets.CERN_GITLAB_PRIVATE_KEY }}
submodules: "recursive"
ssh-strict: "false"
ssh-known-hosts: "[gitlab.cern.ch]:7999 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubVS0czgKaPkC5cfB75CI3XjgWBv7pj2ILiZezVf8okkCAYr+bf4w6VrH2pyv3NRUW5Mm8U/3zoSNcrYIqhFFpz6R62/3xt8hMrPKJKstbt1lSIr8QhEyD24SJEKugMi560BWRPkTzXrrFgxz0X4vuKKytpvihRsccZ7F1JaX76UCWEJ3Xr2BFCEnnN6gj9nvFr4gvSMneunWVLGw2KcHwS1OJfnWBlp3fB0rYWSxZAoVjcjZjvv3hioEftaTapff2PkdQIX//N9Cc555FzdmMzixTvU5j/i+QvjxWVbEBNSKI6te6udC4fYUZMePs2QQnqw9mXUQtaQtw+HV7utuw=="
- name: Create Build Environment
shell: bash
run: cmake -E make_directory ${{github.workspace}}/build
- name: adding a system path
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Configure CMake
shell: bash
run: cd ${{github.workspace}}/build && cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DANALYSIS=$ANALYSIS -DCONFIG=$CONFIG -DSAMPLES=$SAMPLES -DERAS=$ERAS -DSCOPES=$SCOPES -DSHIFTS=$SHIFTS -DOPTIMIZED=false
- name: Build
shell: bash
run: cd ${{github.workspace}}/build && make install -j 2
- name: Test
shell: bash
run: cd ${{github.workspace}}/build && ctest -V --label-regex "ntuple.*."
build_single_friend:
runs-on: ubuntu-20.04
container:
image: rootproject/root:6.28.04-arch
options: --user 0 # run as root
steps:
- name: update Arch keyring
run: pacman -Sc --noconfirm && pacman -Syy --noconfirm && pacman -Sy archlinux-keyring --noconfirm
- name: Install missing software
run: pacman -Syu --noconfirm cmake make git python-pip openmp openmpi boost openssh --ignore root --ignore openssl
- name: Install python packages
run: python -m pip install GitPython --break-system-packages && python -m pip install git+https://github.com/cms-nanoAOD/correctionlib.git --break-system-packages
- name: Clone project
uses: actions/checkout@v3
with:
ssh-key: ${{ secrets.CERN_GITLAB_PRIVATE_KEY }}
submodules: "recursive"
ssh-strict: "false"
ssh-known-hosts: "[gitlab.cern.ch]:7999 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubVS0czgKaPkC5cfB75CI3XjgWBv7pj2ILiZezVf8okkCAYr+bf4w6VrH2pyv3NRUW5Mm8U/3zoSNcrYIqhFFpz6R62/3xt8hMrPKJKstbt1lSIr8QhEyD24SJEKugMi560BWRPkTzXrrFgxz0X4vuKKytpvihRsccZ7F1JaX76UCWEJ3Xr2BFCEnnN6gj9nvFr4gvSMneunWVLGw2KcHwS1OJfnWBlp3fB0rYWSxZAoVjcjZjvv3hioEftaTapff2PkdQIX//N9Cc555FzdmMzixTvU5j/i+QvjxWVbEBNSKI6te6udC4fYUZMePs2QQnqw9mXUQtaQtw+HV7utuw=="
- name: Create Build Environment
shell: bash
run: cmake -E make_directory ${{github.workspace}}/build
- name: adding a system path
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Configure CMake
shell: bash
run: cd ${{github.workspace}}/build && cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DANALYSIS=$ANALYSIS -DCONFIG=$SINGLE_FRIEND_CONFIG -DSAMPLES=$SAMPLES -DERAS=$ERAS -DSCOPES=$SINGLE_FRIEND_SCOPES -DSHIFTS=$FRIEND_SHIFTS -DOPTIMIZED=false -DQUANTITIESMAP="dummy"
- name: Build
shell: bash
run: cd ${{github.workspace}}/build && make install -j 2
- name: Test
shell: bash
run: cd ${{github.workspace}}/build && ctest -V --label-regex "single_friend.*."
build_two_friends:
runs-on: ubuntu-20.04
container:
image: rootproject/root:6.28.04-arch
options: --user 0 # run as root
steps:
- name: update Arch keyring
run: pacman -Sc --noconfirm && pacman -Syy --noconfirm && pacman -Sy archlinux-keyring --noconfirm
- name: Install missing software
run: pacman -Syu --noconfirm cmake make git python-pip openmp openmpi boost openssh --ignore root --ignore openssl
- name: Install python packages
run: python -m pip install GitPython --break-system-packages && python -m pip install git+https://github.com/cms-nanoAOD/correctionlib.git --break-system-packages
- name: Clone project
uses: actions/checkout@v3
with:
ssh-key: ${{ secrets.CERN_GITLAB_PRIVATE_KEY }}
submodules: "recursive"
ssh-strict: "false"
ssh-known-hosts: "[gitlab.cern.ch]:7999 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubVS0czgKaPkC5cfB75CI3XjgWBv7pj2ILiZezVf8okkCAYr+bf4w6VrH2pyv3NRUW5Mm8U/3zoSNcrYIqhFFpz6R62/3xt8hMrPKJKstbt1lSIr8QhEyD24SJEKugMi560BWRPkTzXrrFgxz0X4vuKKytpvihRsccZ7F1JaX76UCWEJ3Xr2BFCEnnN6gj9nvFr4gvSMneunWVLGw2KcHwS1OJfnWBlp3fB0rYWSxZAoVjcjZjvv3hioEftaTapff2PkdQIX//N9Cc555FzdmMzixTvU5j/i+QvjxWVbEBNSKI6te6udC4fYUZMePs2QQnqw9mXUQtaQtw+HV7utuw=="
- name: Create Build Environment
shell: bash
run: cmake -E make_directory ${{github.workspace}}/build
- name: adding a system path
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Configure CMake
shell: bash
run: cd ${{github.workspace}}/build && cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DANALYSIS=$ANALYSIS -DCONFIG=$TWO_FRIENDS_CONFIG -DSAMPLES=$SAMPLES -DERAS=$ERAS -DSCOPES=$TWO_FRIENDS_SCOPES -DSHIFTS=$FRIEND_SHIFTS -DOPTIMIZED=false -DQUANTITIESMAP="dummy"
- name: Build
shell: bash
run: cd ${{github.workspace}}/build && make install -j 2
- name: Test
shell: bash
run: cd ${{github.workspace}}/build && ctest -V --label-regex "two_friends.*."
python_format:
runs-on: ubuntu-20.04
container:
image: rootproject/root:6.26.00-ubuntu20.04
options: --user 0 # run as root
steps:
- name: apt update
run: apt-get -y update
- name: Install missing software
run: apt-get install -y git python3-pip && pip install black==23.3.0
- uses: actions/checkout@v2
- name: Check Python formatting
shell: bash
run: cd $GITHUB_WORKSPACE && bash checks/python-formatting.sh
cpp_format:
runs-on: ubuntu-20.04
container:
image: rootproject/root:6.26.00-ubuntu20.04
options: --user 0 # run as root
steps:
- name: apt update
run: apt-get -y update
- name: Install missing software
run: apt-get install -y git python3-pip && pip install clang-format
- uses: actions/checkout@v2
- name: Check C++ formatting
shell: bash
run: cd $GITHUB_WORKSPACE && bash checks/cpp-formatting.sh
docs:
runs-on: ubuntu-20.04
container:
image: rootproject/root:6.26.00-ubuntu20.04
options: --user 0 # run as root
steps:
- name: apt update
run: apt-get -y update
- name: Install missing software
run: apt-get install -y git cmake make doxygen python3-pip
- name: install docs related packages
run: pip install breathe==4.31 sphinx_rtd_theme==0.5
- uses: actions/checkout@v2
- name: Create Build Environment
shell: bash
run: cmake -E make_directory ${{github.workspace}}/build
- name: Configure CMake
shell: bash
run: cd ${{github.workspace}}/build && cmake $GITHUB_WORKSPACE/docs
- name: Build docs
shell: bash
run: cd ${{github.workspace}}/build && make
- name: Publish
shell: bash
run: echo "TODO"