Add tests; separate cli
and core logic
#3
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: Verify pre-release | |
on: | |
pull_request: | |
branches: | |
- master | |
push: | |
branches: | |
- master | |
permissions: | |
contents: write | |
defaults: | |
run: | |
shell: bash -el {0} | |
jobs: | |
lint: | |
name: Lint code | |
strategy: | |
matrix: | |
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Git repository | |
uses: actions/checkout@v4 | |
- name: Setup environment | |
uses: ./.github/actions/setup | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install repository | |
run: | | |
poetry lock --no-update | |
poetry install --with dev | |
- name: Check dependencies | |
run: poetry run -- deptry . | |
- name: Lint code | |
run: poetry run -- ruff check . | |
- name: Check type annotations | |
run: poetry run -- pyright | |
test: | |
name: Test code | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest] | |
python-version: ['3.8', '3.12'] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout Git repository | |
uses: actions/checkout@v4 | |
- uses: ./.github/actions/setup | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install repository | |
run: | | |
poetry lock --no-update | |
poetry install --with dev | |
- name: Pytest with code coverage | |
run: poetry run -- pytest -n auto | |
- name: Archive code coverage results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-${{ matrix.os }}-${{ matrix.python-version }} | |
path: coverage/ |