Type checking options #60
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 | |
# for the moment only runs on "action* branches". Coverage/pypi not yet set up. | |
on: | |
push: | |
branches: | |
- 'action*' | |
tags: | |
- '*' | |
pull_request: | |
branches: | |
- '*' | |
env: | |
COBAYA_INSTALL_SKIP: polychord,planck_2015,CamSpec2021,2018_highl_CamSpec,unbinned,keck,classy | |
COBAYA_PACKAGES_PATH: ../packages | |
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 | |
mpi: openmpi | |
- name: "OS X Python 3.8" | |
os: macos-latest | |
python-version: 3.8 | |
mpi: openmpi | |
- name: "Windows Python 3.12" | |
os: windows-latest | |
python-version: 3.12 | |
mpi: intelmpi | |
steps: | |
- run: ln -s $(which gfortran-14) /usr/local/bin/gfortran | |
if: matrix.os == 'macos-latest' | |
- 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: false | |
activate-environment: tests-environment | |
environment-file: tests-environment.yml | |
- name: Install mpi | |
if: matrix.pydist != 'ANACONDA' | |
uses: mpi4py/setup-mpi@v1 | |
with: | |
mpi: ${{ matrix.mpi }} | |
# - 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 camb | |
- name: Run flake8 | |
shell: bash -el {0} | |
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 cobaya install and tests | |
shell: bash -el {0} | |
run: | | |
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 | |
shell: bash -el {0} | |
run: | | |
mpiexec -np 2 coverage run --parallel-mode -m pytest -x -m mpi tests/ --no-flaky-report | |
- name: Run external likelihood tests | |
shell: bash -el {0} | |
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 | |