Switch to using poetry #399
Workflow file for this run
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: Linting and Tests | |
on: | |
push: | |
branches: ["main"] | |
pull_request: | |
jobs: | |
check-code-style: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Poetry | |
uses: matrix-org/setup-python-poetry@v1 | |
with: | |
install-project: "false" | |
python-version: "3.11" | |
- run: poetry run tox -e check_codestyle | |
check-types-mypy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Poetry | |
uses: matrix-org/setup-python-poetry@v1 | |
with: | |
install-project: "false" | |
python-version: "3.11" | |
- run: poetry run tox -e check_types | |
run-unit-tests: | |
name: Unit tests | |
needs: [check-code-style, check-types-mypy] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Poetry | |
uses: matrix-org/setup-python-poetry@v1 | |
with: | |
install-project: "false" | |
python-version: "3.11" | |
- run: poetry run trial tests | |
run-unit-tests-olddeps: | |
name: Unit tests (old dependencies) | |
needs: [ check-code-style, check-types-mypy ] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Poetry | |
uses: matrix-org/setup-python-poetry@v1 | |
with: | |
install-project: "false" | |
python-version: "3.8" | |
- name: Patch pyproject.toml to require oldest dependencies | |
run: | | |
# Ugly. Could use something like https://pyproject-parser.readthedocs.io/en/latest/cli.html#info in the future. | |
sed --in-place=.bak -e 's/>=/==/g' pyproject.toml | |
diff pyproject.toml.bak pyproject.toml || true # diff returns 1 if there is a change | |
- run: poetry run trial tests |