Skip to content

All dependencies have type hints! #390

All dependencies have type hints!

All dependencies have type hints! #390

Workflow file for this run

name: on-push
on:
push:
branches:
- main
tags:
- '*'
pull_request:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: 3.x
- uses: pre-commit/[email protected]
unit-tests:
name: unit-tests (3.11)
runs-on: ubuntu-latest
defaults:
run:
shell: bash -l {0}
steps:
- uses: actions/checkout@v4
- name: Install Conda environment with Micromamba
uses: mamba-org/provision-with-micromamba@v16
with:
environment-file: environment.yml
environment-name: DEVELOP
channels: conda-forge
cache-env: true
cache-env-key: ubuntu-latest-3.11
extra-specs: |
python=3.11
- name: Install package
run: |
python -m pip install --no-deps -e .
- name: Run tests
run: |
make test COV_REPORT=xml
- name: Run doc tests
run: |
make doc-test COV_REPORT=xml
- name: Upload code coverage to Codecov
uses: codecov/[email protected]
type-check:
needs: [unit-tests]
runs-on: ubuntu-latest
defaults:
run:
shell: bash -l {0}
steps:
- uses: actions/checkout@v4
- name: Install Conda environment with Micromamba
uses: mamba-org/provision-with-micromamba@v16
with:
environment-file: environment.yml
environment-name: DEVELOP
channels: conda-forge
cache-env: true
cache-env-key: ubuntu-latest-3.11
extra-specs: |
python=3.11
- name: Install package
run: |
python -m pip install --no-deps -e .
- name: Run code quality checks
run: |
make type-check
integration-tests:
needs: [unit-tests]
runs-on: ubuntu-latest
defaults:
run:
shell: bash -l {0}
strategy:
matrix:
python-version: ['3.10', '3.9', '3.8']
extra: ['']
include:
- python-version: '3.8'
extra: -minver
- python-version: '3.11'
extra: -mindep
steps:
- uses: actions/checkout@v4
- name: Install Conda environment with Micromamba
uses: mamba-org/provision-with-micromamba@v16
with:
environment-file: environment${{ matrix.extra }}.yml
environment-name: DEVELOP${{ matrix.extra }}
channels: conda-forge
cache-env: true
cache-env-key: ubuntu-latest-${{ matrix.python-version }}${{ matrix.extra }}.
extra-specs: |
python=${{ matrix.python-version }}
- name: Install package
run: |
python -m pip install --no-deps -e .
- name: Run tests
run: |
make test COV_REPORT=xml
- name: Upload code coverage to Codecov
uses: codecov/[email protected]
distribution:
runs-on: ubuntu-latest
needs: [integration-tests, type-check]
steps:
- uses: actions/checkout@v4
- name: Build distributions
run: |
$CONDA/bin/python -m pip install build
$CONDA/bin/python -m build
- name: Publish a Python distribution to PyPI
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}