OddpubMetrics Docker image and Database Table Generation #175
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: Tests | |
on: | |
push: | |
branches: [ '*' ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
pre-commit: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.11' | |
- name: Install dependencies for pre-commit | |
run: | | |
pip install --upgrade pip | |
pip install .[ci] | |
- uses: pre-commit/[email protected] | |
pytest: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: [3.11] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
pip install uv | |
pip install .[ci] | |
- name: Start Docker stack | |
run: | | |
cp .mockenv .env | |
docker compose -f .docker/postgres-compose.yaml up -d | |
# Wait for PostgreSQL to be ready | |
timeout 20 bash -c 'until docker exec $(docker ps -q -f name=postgres) pg_isready; do sleep 1; done' | |
docker ps | |
- name: Initialize database | |
run: | | |
alembic upgrade head | |
- name: Run Alembic check | |
run: | | |
chmod +x alembic_check.sh | |
./alembic_check.sh | |
- name: Run tests with coverage | |
run: | | |
coverage run -m pytest -s tests | |
coverage report | |
coverage xml | |
- name: Stop Docker stack | |
if: always() | |
run: docker compose -f .docker/postgres-compose.yaml down -v --remove-orphans | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
file: coverage.xml |