feat: Add wait step for database service availability in CI workflow
Some checks failed
Run Tests / test (push) Failing after 5m46s

This commit is contained in:
2025-10-25 15:57:03 +02:00
parent dd3f3141e3
commit 1237902d55

View File

@@ -36,6 +36,42 @@ jobs:
run: | run: |
pip install -r requirements.txt pip install -r requirements.txt
pip install -r requirements-test.txt pip install -r requirements-test.txt
- name: Wait for database service
env:
DATABASE_DRIVER: postgresql
DATABASE_HOST: 127.0.0.1
DATABASE_PORT: "5432"
DATABASE_NAME: calminer_ci
DATABASE_USER: calminer
DATABASE_PASSWORD: secret
DATABASE_SCHEMA: public
DATABASE_SUPERUSER: calminer
DATABASE_SUPERUSER_PASSWORD: secret
DATABASE_SUPERUSER_DB: calminer_ci
run: |
python - <<'PY'
import os
import time
import psycopg2
dsn = (
f"dbname={os.environ['DATABASE_SUPERUSER_DB']} "
f"user={os.environ['DATABASE_SUPERUSER']} "
f"password={os.environ['DATABASE_SUPERUSER_PASSWORD']} "
f"host={os.environ['DATABASE_HOST']} "
f"port={os.environ['DATABASE_PORT']}"
)
for attempt in range(30):
try:
with psycopg2.connect(dsn):
break
except psycopg2.OperationalError:
time.sleep(2)
else:
raise SystemExit("Postgres service did not become available")
PY
- name: Run database setup (dry run) - name: Run database setup (dry run)
env: env:
DATABASE_DRIVER: postgresql DATABASE_DRIVER: postgresql