Skip to content

[develop] ♻️ Refactored code for better testability and added tests 🧪 #16

[develop] ♻️ Refactored code for better testability and added tests 🧪

[develop] ♻️ Refactored code for better testability and added tests 🧪 #16

Workflow file for this run

name: "Tests"
on:
push:
tags:
- v**
branches-ignore:
- "dependabot/**"
- "sourcery/**"
- "pre-commit-ci-update-config"
pull_request:
jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Run pre-commit
uses: pre-commit/[email protected]
docs:
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
run: |
pip install ".[docs]"
- name: Show installed dependencies
run: |
pip freeze
- name: Build docs
run: make --directory=docs clean html
# docs-link:
# runs-on: ubuntu-latest
# steps:
# - name: Check out repo
# uses: actions/checkout@v4
# - name: Set up Python 3.10
# uses: actions/setup-python@v5
# with:
# python-version: "3.10"
# - name: Install dependencies
# run: |
# pip install ".[docs]"
# - name: Show installed dependencies
# continue-on-error: true
# run: |
# pip freeze
# - name: Build docs
# run: make --directory=docs clean linkcheck
test:
runs-on: ${{ matrix.os }}
needs: [pre-commit, docs]
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
python-version: ["3.10", "3.11"]
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install -U pip wheel
python -m pip install -r requirements_pinned.txt
python -m pip install -U ".[test]"
- name: Run tests
run: |
python -m pytest --cov=./ --cov-report term --cov-report xml --cov-config .coveragerc tests
- name: Codecov Upload
continue-on-error: true
uses: codecov/codecov-action@v4
with:
file: ./coverage.xml
name: ${{ matrix.os }}-py${{ matrix.python-version }}
deploy:
runs-on: ubuntu-latest
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
needs: test
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
run: python -m pip install -U hatch
- name: Build dist
run: hatch build
- name: Publish package
uses: pypa/[email protected]
with:
print-hash: true