Skip to content

Merge pull request #141 from HENNGE/test-is-in #214

Merge pull request #141 from HENNGE/test-is-in

Merge pull request #141 from HENNGE/test-is-in #214

Workflow file for this run

name: workflow
on: [push, pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lock:
timeout-minutes: 10
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- run: curl -sSL https://install.python-poetry.org | python3 -
- run: poetry lock
- uses: actions/cache@v3
with:
path: poetry.lock
key: ${{ github.sha }}-${{ matrix.python-version }}
pytest:
needs: lock
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
implementation: [
{flavor: "dynalite", name: "dynalite"},
{flavor: "other", name: "dynamodb-local"},
{flavor: "other", name: "localstack"},
{flavor: "scylla", name: "scylla"}
]
runs-on: "ubuntu-latest"
env:
DYNAMODB_URL: http://localhost:8000
DYNAMODB_FLAVOR: ${{ matrix.implementation.flavor }}
DYNAMODB_NAME: ${{ matrix.implementation.name }}
AWS_ACCESS_KEY_ID: dummy
AWS_SECRET_ACCESS_KEY: dummy
steps:
- uses: actions/checkout@v3
- run: docker compose -f .github/docker-compose/docker-compose.${{ matrix.implementation.name }}.yml up -d
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- uses: actions/cache@v3
with:
path: poetry.lock
key: ${{ github.sha }}-${{ matrix.python-version }}
- run: curl -sSL https://install.python-poetry.org | python3 -
- run: poetry install
- run: poetry run pytest --verbose
mypy:
timeout-minutes: 10
needs: lock
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- uses: actions/cache@v3
with:
path: poetry.lock
key: ${{ github.sha }}-${{ matrix.python-version }}
- run: curl -sSL https://install.python-poetry.org | python3 -
- run: poetry install
- run: poetry run mypy
isort:
timeout-minutes: 10
needs: lock
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.12"
- uses: actions/cache@v3
with:
path: poetry.lock
key: ${{ github.sha }}-3.12
- run: curl -sSL https://install.python-poetry.org | python3 -
- run: poetry install
- run: poetry run isort --check --diff src tests
black:
timeout-minutes: 10
needs: lock
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.12"
- uses: actions/cache@v3
with:
path: poetry.lock
key: ${{ github.sha }}-3.12
- run: curl -sSL https://install.python-poetry.org | python3 -
- run: poetry install
- run: poetry run black --check src/ tests/
ruff:
timeout-minutes: 10
needs: lock
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.12"
- uses: actions/cache@v3
with:
path: poetry.lock
key: ${{ github.sha }}-3.12
- run: curl -sSL https://install.python-poetry.org | python3 -
- run: poetry install
- run: poetry run ruff check src/ tests/