Skip to content

Test Suite

Test Suite #2964

Workflow file for this run

---
name: Test Suite
on:
push:
branches:
- "**"
paths-ignore:
- "docs/**"
pull_request:
branches: ["main"]
paths-ignore:
- "docs/**"
schedule:
- cron: "0 0 * * *"
jobs:
tests:
name: "Python ${{ matrix.python-version }}"
runs-on: "ubuntu-latest"
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
services:
postgres:
image: postgres:10.8
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: esmerald
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
mongodb:
image: mongo:latest
env:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: mongoadmin
MONGO_INITDB_DATABASE: mongodb
ports:
- 27017:27017
steps:
- uses: "actions/checkout@v4"
- uses: "actions/setup-python@v5"
with:
python-version: "${{ matrix.python-version }}"
allow-prereleases: true
- uses: actions/cache@v4
id: cache
with:
path: ${{ env.pythonLocation }}
key: ${{ runner.os }}-python-${{ env.pythonLocation }}-${{ hashFiles('pyproject.toml') }}-test-v02
- name: "Install dependencies"
if: steps.cache.outputs.cache-hit != 'true'
run: "pip install hatch"
- name: "Run linting checks"
run: "hatch run lint"
- name: "Run mypy"
run: "hatch run test:check_types"
- name: "Run tests"
env:
DATABASE_URI: "mongodb://root:mongoadmin@localhost:27017"
run: "hatch run test:test"