diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml new file mode 100644 index 0000000..b1d0851 --- /dev/null +++ b/.github/workflows/python-package.yml @@ -0,0 +1,35 @@ +jobs: + build: + runs-on: ubuntu-latest + steps: + - {uses: actions/checkout@v3} + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v3 + with: {python-version: '${{ matrix.python-version }}'} + - name: cache poetry install + uses: actions/cache@v2 + with: {key: poetry-1.7.1-0, path: ~/.local} + - name: Install Poetry + uses: snok/install-poetry@v1 + with: {version: 1.7.1, virtualenvs-create: true, virtualenvs-in-project: true} + - id: cache-deps + name: cache deps + uses: actions/cache@v2 + with: {key: "pydeps-${{ hashFiles('**/poetry.lock') }}", path: .venv} + - {if: steps.cache-deps.outputs.cache-hit != 'true', run: poetry install --no-interaction + --no-root} + - {run: poetry install --no-interaction} + - {run: poetry run mypy tdir} + - {run: poetry run ruff check --select I --fix runs test_runs.py} + - {run: poetry run ruff format runs/ test_runs.py} + - {run: poetry run pytest} + strategy: + fail-fast: false + matrix: + python-version: ['3.8', '3.12'] +name: Python package +on: + pull_request: + branches: [main] + push: + branches: [main] diff --git a/pyproject.toml b/pyproject.toml index b5237ca..b49816c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -42,6 +42,12 @@ exclude_lines = [ "raise NotImplementedError" ] + +[tool.ruff] +line-length = 88 + +[tool.ruff.format] +quote-style = "single" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api"