Bumped version #433
Workflow file for this run
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: test | |
on: | |
push: | |
paths: | |
- 'pyproject.toml' | |
- '**.py' | |
- 'tests/**' | |
- '.github/workflows/run-tests.yml' | |
# Cancel existing executions when new commits are pushed onto the branch | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
linting: | |
name: Linting | |
runs-on: ubuntu-latest | |
steps: | |
#---------------------------------------------- | |
# check-out repo and set-up python | |
#---------------------------------------------- | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
#---------------------------------------------- | |
# poetry setup | |
#---------------------------------------------- | |
- uses: snok/install-poetry@v1 | |
with: | |
version: 1.4.2 | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
- name: cache deps | |
id: cache-deps | |
uses: actions/cache@v2 | |
with: | |
path: .venv | |
key: pydeps-${{ hashFiles('**/poetry.lock') }} | |
- run: poetry install --extras interfaces --no-interaction --no-root | |
if: steps.cache-deps.outputs.cache-hit != 'true' | |
- run: poetry install --no-interaction | |
#---------------------------------------------- | |
# install and run linters | |
#---------------------------------------------- | |
- run: sh check_syntax.sh | |
test: | |
name: Tests of general module | |
needs: linting | |
strategy: | |
fail-fast: true | |
matrix: | |
os: [ "ubuntu-latest" ] | |
python-version: [ "3.7", "3.8", "3.9" ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
#---------------------------------------------- | |
# check-out repo and set-up python | |
#---------------------------------------------- | |
- name: Check out repository | |
uses: actions/checkout@v2 | |
- name: Set up python ${{ matrix.python-version }} | |
id: setup-python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
#---------------------------------------------- | |
# poetry setup | |
#---------------------------------------------- | |
- uses: snok/install-poetry@v1 | |
with: | |
version: 1.4.2 | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
- name: cache deps | |
id: cache-deps | |
uses: actions/cache@v2 | |
with: | |
path: .venv | |
key: pydeps-${{ hashFiles('**/poetry.lock') }} | |
- run: poetry install --no-interaction --no-root | |
if: steps.cache-deps.outputs.cache-hit != 'true' | |
- run: poetry install --no-interaction | |
- name: Run tests | |
run: sh check_coverage.sh | |
- name: Upload coverage | |
if: ${{ matrix.python-version == '3.9' && matrix.os == 'ubuntu-latest' }} | |
uses: codecov/codecov-action@v1 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} # Only required for private repositories | |
file: ./coverage.xml | |
fail_ci_if_error: true | |
classy: | |
name: Tests for CLASS interfaces | |
needs: test | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
steps: | |
#---------------------------------------------- | |
# check-out repo and set-up python | |
#---------------------------------------------- | |
- name: Check out repository | |
uses: actions/checkout@v2 | |
#---------------------------------------------- | |
# poetry setup | |
#---------------------------------------------- | |
- uses: snok/install-poetry@v1 | |
with: | |
version: 1.4.2 | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
- name: cache deps | |
id: cache-deps | |
uses: actions/cache@v2 | |
with: | |
path: .venv | |
key: pydeps-${{ hashFiles('**/poetry.lock') }} | |
- run: poetry install --no-interaction --no-root | |
if: steps.cache-deps.outputs.cache-hit != 'true' | |
- run: poetry install --no-interaction | |
- name: Install CLASS | |
run: | | |
poetry install --no-interaction | |
poetry run pip install Cython | |
git clone --depth 1 --branch feature/conda https://github.com/JCGoran/class_public && cd class_public && poetry run make classy && cd - | |
- name: Run CLASS tests | |
run: poetry run pytest -v tests/test_classy_interfaces.py | |
coffe: | |
name: Tests for COFFE interfaces | |
needs: test | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
steps: | |
#---------------------------------------------- | |
# check-out repo and set-up python | |
#---------------------------------------------- | |
- name: Check out repository | |
uses: actions/checkout@v2 | |
#---------------------------------------------- | |
# poetry setup | |
#---------------------------------------------- | |
- uses: snok/install-poetry@v1 | |
with: | |
version: 1.4.2 | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
- name: cache deps | |
id: cache-deps | |
uses: actions/cache@v2 | |
with: | |
path: .venv | |
key: pydeps-${{ hashFiles('**/poetry.lock') }} | |
- run: poetry install --no-interaction --no-root | |
if: steps.cache-deps.outputs.cache-hit != 'true' | |
- run: poetry install --no-interaction | |
- name: Install COFFE | |
run: poetry install --extras coffe --no-interaction | |
- name: Run COFFE tests | |
run: poetry run pytest -v tests/test_coffe_interfaces.py | |
camb: | |
name: Tests for CAMB interfaces | |
needs: test | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
steps: | |
#---------------------------------------------- | |
# check-out repo and set-up python | |
#---------------------------------------------- | |
- name: Check out repository | |
uses: actions/checkout@v2 | |
#---------------------------------------------- | |
# poetry setup | |
#---------------------------------------------- | |
- uses: snok/install-poetry@v1 | |
with: | |
version: 1.4.2 | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
- name: cache deps | |
id: cache-deps | |
uses: actions/cache@v2 | |
with: | |
path: .venv | |
key: pydeps-${{ hashFiles('**/poetry.lock') }} | |
- run: poetry install --no-interaction --no-root | |
if: steps.cache-deps.outputs.cache-hit != 'true' | |
- run: poetry install --no-interaction | |
- name: Install CAMB | |
run: poetry install --extras camb --no-interaction | |
- name: Run CAMB tests | |
run: poetry run pytest -v tests/test_camb_interfaces.py |