Skip to content

Implement core functionality #25

Implement core functionality

Implement core functionality #25

Workflow file for this run

name: CI
on:
# We run CI on pushes to the main branch
push:
branches:
- main
# and on all pull requests to the main branch
pull_request:
branches:
- main
# as well as upon manual triggers through the 'Actions' tab of the Github UI
workflow_dispatch:
jobs:
build-and-test:
name: Testing on ${{matrix.os}}
runs-on: ${{matrix.os}}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.10", "3.12"]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
# setuptools_scm requires a non-shallow clone of the repository
fetch-depth: 0
- name: Add conda instance
uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
auto-activate-base: false
python-version: ${{ matrix.python-version }}
activate-environment: morph
environment-file: environment-dev.yml
- name: Install Python package
run: |
python -m pip install --no-deps .
- name: Run Python tests
run: |
python -m pytest --nbval
coverage:
name: Coverage Testing
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Install Python package
run: |
python -m pip install .[tests]
- name: Run Python tests
working-directory: ./tests
run: |
python -m pytest --cov --cov-report=xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
fail_ci_if_error: true
files: ./tests/coverage.xml