Skip to content

Pyproject

Pyproject #164

# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: tests
on:
push:
branches: [ "*" ]
pull_request:
branches: [ "*" ]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13.0-rc.1', 'pypy-3.9', 'pypy-3.10']
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install BinPackage
run: |
python -m pip install --upgrade pip wheel setuptools pytest types-setuptools
python -m pip install -e .
- name: Type check with mypy
run: |
if [ "${{ matrix.python-version }}" == "3.9" ]; then python -m pip install mypy; fi
if [ "${{ matrix.python-version }}" == "3.9" ]; then mypy --python-version=3.9 src/islenska; fi
- name: Build *.dawg.bin
run: |
python tools/dawgbuilder.py
- name: Build compressed.bin
run: |
wget -q -O src/islenska/resources/KRISTINsnid.csv.zip 'https://bin.arnastofnun.is/django/api/nidurhal/?file=KRISTINsnid.csv.zip'
unzip -q -d src/islenska/resources/ src/islenska/resources/KRISTINsnid.csv.zip
python tools/binpack.py
- name: Test with pytest
run: |
python -m pytest
- name: Slack notification
uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
author_name: Integration Testing (Python ${{ matrix.python-version }})
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
if: failure() # Pick up event if the job fails