Skip to content

Fixed python 3.9 error, added tests & CI #1

Fixed python 3.9 error, added tests & CI

Fixed python 3.9 error, added tests & CI #1

Workflow file for this run

name: CI
on:
push:
branches: [ main ]
tags: [ 'v*' ]
pull_request:
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Cache pip
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/pyproject.toml') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -e .[test]
python -m pip install mypy
- name: Run tests
run: python -m pytest -q
- name: Run mypy
run: python -m mypy --ignore-missing-imports src/deckflow
publish:
name: Publish to PyPI
runs-on: ubuntu-latest
needs: test
if: startsWith(github.ref, 'refs/tags/v')
steps:
- uses: actions/checkout@v4
- name: Set up Python for build
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install build tools
run: |
python -m pip install --upgrade pip
python -m pip install build twine
- name: Build package
run: python -m build --sdist --wheel
- name: Verify wheel installs
run: |
python -m venv .verify_env
.verify_env/bin/python -m pip install --upgrade pip
.verify_env/bin/pip install dist/*.whl
.verify_env/bin/python -c "import deckflow; print('deckflow imported')"
- name: Publish to PyPI
env:
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
run: |
python -m twine upload dist/* -u __token__ -p "$TWINE_PASSWORD"