test also with python 3.12 on github actions #50
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: dac actions | |
on: | |
push: | |
branches: | |
- '*' | |
tags: | |
- '*' | |
jobs: | |
check-style: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout π | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
- name: Setup python π | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.12' | |
- name: Setup cache πΎ | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cache/pre-commit | |
key: pre-commit | |
- name: Prepare pre-commit πββοΈπ | |
run: | | |
python -m venv venv || . venv/bin/activate | |
pip install -U pip wheel setuptools pre-commit | |
pre-commit install | |
- name: Run pre-commit ππ | |
run: | | |
pre-commit run --all-files | |
test: | |
runs-on: "${{ matrix.os }}" | |
strategy: | |
matrix: | |
os: ["ubuntu-latest"] | |
version: ["3.9", "3.10", "3.11", "3.12"] | |
steps: | |
- name: Checkout π | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
- name: Setup python π | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "${{ matrix.version }}" | |
- name: Prepare tests πββοΈπ¬ | |
run: | | |
python -m venv venv || . venv/bin/activate | |
pip install -U pip wheel setuptools | |
pip install -r requirements-test.txt | |
- name: Run tests π¬π | |
run: | | |
pytest test --run-slow | |
docs: | |
needs: [test, check-style] | |
if: ${{ github.ref == 'refs/heads/main' }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout π | |
uses: actions/checkout@v3 | |
- name: Deploy docs | |
uses: mhausenblas/mkdocs-deploy-gh-pages@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
CONFIG_FILE: mkdocs.yml | |
REQUIREMENTS: requirements-docs.txt | |
pypi-release: | |
needs: [test, check-style] | |
if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout π | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 1 | |
- name: Setup python π | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.12" | |
- name: Prepare release πββοΈπ¦test | |
run: | | |
python -m venv venv || . venv/bin/activate | |
pip install -U pip wheel setuptools build twine | |
- name: Build π οΈπ¦ | |
run: | | |
python -m build | |
- name: Release π¦π | |
env: | |
TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }} | |
TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} | |
run: | | |
python -m twine upload dist/* |