-
Wuttke, Joachim authored
Treat it as any other 3rd-party dependence
Wuttke, Joachim authoredTreat it as any other 3rd-party dependence
ba-linux.yml 3.28 KiB
## ************************************************************************** ##
##
## BornAgain: simulate and fit scattering at grazing incidence
##
##! @file .github/workflows/ba-linux.yml
##! @brief GitHub runner configuration for building BornAgain under Linux
##!
##! @homepage http://www.bornagainproject.org
##! @license GNU General Public License v3 or higher (see COPYING)
##! @copyright Forschungszentrum Jülich GmbH 2020
##! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
##
## ************************************************************************** ##
##! Build scripts for GitHub Actions were introduced with BornAgain-1.17.
##! This script incorporates code by
##! - Andrew Nelson (https://github.com/reflectivity/analysis)
##! - Cristian Adam (https://cristianadam.eu/20200113/speeding-up-c-plus-plus-github-actions-using-ccache/)
name: Linux
on:
push:
branches: [ master, develop]
paths-ignore:
- 'Doc/**'
pull_request:
branches: [ master, develop ]
paths-ignore:
- 'Doc/**'
jobs:
build:
runs-on: ubuntu-20.04
strategy:
max-parallel: 3
matrix:
python-version: [3.8]
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: setup apt dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential\
gfortran cmake ccache \
libgsl-dev libboost-all-dev libfftw3-dev libtiff5-dev libcerf-dev libeigen3-dev \
qt5-default libqt5designercomponents5 qttools5-dev libqt5svg5-dev
- name: Install Python packages
run: |
python -m pip install --upgrade pip
python -m pip install wheel setuptools
python -m pip install numpy matplotlib
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
shell: cmake -P {0}
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
message("::set-output name=timestamp::${current_date}")
- name: ccache cache files for BornAgain