Skip to content

Slightly more explicit customization guidance #326

Slightly more explicit customization guidance

Slightly more explicit customization guidance #326

Workflow file for this run

name: Test
on:
push:
pull_request:
branches: [main]
workflow_dispatch:
jobs:
test:
strategy:
fail-fast: false
matrix:
python-version: ["3.12"]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
services:
postgres:
image: postgres:latest
env:
POSTGRES_DB: test_db
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install project
run: uv sync --all-extras --dev
- name: Set env variables for pytest
run: |
echo "DB_USER=postgres" >> $GITHUB_ENV
echo "DB_PASSWORD=postgres" >> $GITHUB_ENV
echo "DB_HOST=127.0.0.1" >> $GITHUB_ENV
echo "DB_PORT=5432" >> $GITHUB_ENV
echo "DB_NAME=test_db" >> $GITHUB_ENV
echo "SECRET_KEY=$(openssl rand -base64 32)" >> $GITHUB_ENV
echo "BASE_URL=http://localhost:8000" >> $GITHUB_ENV
echo "RESEND_API_KEY=resend_api_key" >> $GITHUB_ENV
echo "[email protected]" >> $GITHUB_ENV
- name: Verify environment variables
run: |
echo "Checking if required environment variables are set..."
[ -n "$DB_USER" ] && \
[ -n "$DB_PASSWORD" ] && \
[ -n "$DB_HOST" ] && \
[ -n "$DB_PORT" ] && \
[ -n "$DB_NAME" ] && \
[ -n "$SECRET_KEY" ] && \
[ -n "$RESEND_API_KEY" ]
- name: Run type checking with mypy
run: uv run mypy .
- name: Run tests with pytest
run: uv run pytest tests/