check #2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- master | |
- 'test*' | |
- 'alltest*' | |
- 'action*' | |
tags: | |
- '*' | |
pull_request: | |
branches: | |
- '*' | |
env: | |
COBAYA_INSTALL_SKIP: polychord,planck_2015,CamSpec2021,2018_highl_CamSpec,unbinned,keck,classy | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: "Anaconda: jammy LTS Python (fast; pip CAMB)" | |
os: ubuntu-latest | |
pydist: "ANACONDA" | |
- name: "Latest Python 3.12" | |
os: ubuntu-latest | |
python-version: 3.12 | |
steps: | |
- run: gfortran --version | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python ${{ matrix.python-version }} | |
if: matrix.pydist != 'ANACONDA' | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Set up Miniconda | |
if: matrix.pydist == 'ANACONDA' | |
uses: conda-incubator/setup-miniconda@v3 | |
with: | |
auto-activate-base: true | |
packages: | | |
scipy matplotlib cython PyYAML dill coverage pytest pandas mpi4py openmpi | |
- name: Install mpi | |
if: matrix.pydist != 'ANACONDA' | |
uses: mpi4py/setup-mpi@v1 | |
with: | |
mpi: openmpi | |
- name: Cache dependencies | |
uses: actions/cache@v2 | |
with: | |
path: | | |
${{ github.workspace }}/packages/data/planck_supp_data_and_covmats | |
${{ github.workspace }}/packages/data/bao_data | |
${{ github.workspace }}/packages/data/sn_data | |
${{ github.workspace }}/packages/data/des_data | |
${{ github.workspace }}/packages/data/planck_2018_pliklite_native | |
key: ${{ runner.os }}-build-${{ matrix.python-version }}} | |
- name: Install dependencies (pip) | |
if: matrix.pydist != 'ANACONDA' | |
run: | | |
pip install mpi4py -i https://pypi.anaconda.org/mpi4py/simple | |
pip install -r requirements.txt pytest-xdist pytest-cov flaky matplotlib dill coverage flake8 iminuit numba | |
- name: Install dependencies (Anaconda) | |
if: matrix.pydist == 'ANACONDA' | |
run: | | |
conda install -c conda-forge iminuit | |
pip install -r requirements.txt flake8 flaky pytest-xdist pytest-cov camb | |
- name: Run flake8 | |
run: | | |
flake8 cobaya --select=E713,E704,E703,E714,E741,E10,E11,E20,E22,E23,E25,E27,E301,E302,E304,E9,F405,F406,F5,F6,F7,F8,W1,W2,W3,W6 --show-source --statistics | |
- name: Run tests | |
run: | | |
export COBAYA_PACKAGES_PATH="../packages" | |
coverage run --parallel-mode -m cobaya.install polychord --debug | |
coverage run --parallel-mode -m pytest tests/ -n auto -k "not cosmo" --skip-not-installed --no-flaky-report | |
coverage run --parallel-mode -m cobaya.install cosmo-tests --no-progress-bars --debug --skip-global | |
pytest tests/ --cov -vv -s -k "cosmo" -n 2 --skip-not-installed --no-flaky-report | |
- name: Run MPI tests | |
run: | | |
mpiexec -np 2 --oversubscribe coverage run --parallel-mode -m pytest -x -m mpi tests/ --no-flaky-report | |
- name: Run external likelihood tests | |
run: | | |
git clone --depth=1 https://github.com/CobayaSampler/example_external_likelihood | |
pip install ./example_external_likelihood --quiet | |
coverage run --parallel-mode -m unittest test_package.tests.test | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v1 | |