Skip to content

check

check #1

Workflow file for this run

name: CI
on:
push:
branches:
- master
- 'test*'
- 'alltest*'
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
- name: Install mpi
uses: mpi4py/setup-mpi@v1
- name: Install mpi4py
run: |
pip install mpi4py -i https://pypi.anaconda.org/mpi4py/simple
- 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 -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 scipy matplotlib cython PyYAML dill coverage pytest pandas
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