From e48d1f3c4de47f4431e7eaf5db114403d3c57090 Mon Sep 17 00:00:00 2001 From: github-ops Date: Tue, 16 Jun 2026 21:07:49 +0000 Subject: [PATCH] ci: start postgres explicitly for tests --- .gitea/workflows/ci.yml | 51 +++++++++++++++-------------------------- 1 file changed, 19 insertions(+), 32 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index a34ea1c..783e5c9 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -11,20 +11,8 @@ jobs: rust: name: Rust Checks runs-on: ubuntu-latest - services: - postgres: - image: postgres:16-alpine - env: - POSTGRES_DB: crank_test - POSTGRES_USER: postgres - POSTGRES_PASSWORD: postgres - options: >- - --health-cmd "pg_isready -U postgres -d crank_test" - --health-interval 10s - --health-timeout 5s - --health-retries 5 env: - TEST_DATABASE_URL: postgres://postgres:postgres@postgres:5432/crank_test + TEST_DATABASE_URL: postgres://postgres:postgres@127.0.0.1:55432/crank_test steps: - name: Checkout @@ -38,6 +26,20 @@ jobs: cargo clippy --version docker --version + - name: Start test PostgreSQL + run: | + docker rm -f crank-ci-postgres-rust >/dev/null 2>&1 || true + docker run -d --rm \ + --name crank-ci-postgres-rust \ + -e POSTGRES_DB=crank_test \ + -e POSTGRES_USER=postgres \ + -e POSTGRES_PASSWORD=postgres \ + -p 55432:5432 \ + postgres:16-alpine + until docker exec crank-ci-postgres-rust pg_isready -U postgres -d crank_test; do + sleep 1 + done + - name: Check formatting run: cargo fmt --all --check @@ -50,6 +52,10 @@ jobs: - name: Run tests run: cargo test --workspace --all-targets + - name: Stop test PostgreSQL + if: always() + run: docker rm -f crank-ci-postgres-rust >/dev/null 2>&1 || true + ui: name: UI Checks runs-on: ubuntu-latest @@ -78,25 +84,6 @@ jobs: frontend-e2e: name: Frontend E2E runs-on: ubuntu-latest - services: - postgres: - image: postgres:16-alpine - env: - POSTGRES_DB: crank - POSTGRES_USER: crank - POSTGRES_PASSWORD: crank - options: >- - --health-cmd "pg_isready -U crank -d crank" - --health-interval 10s - --health-timeout 5s - --health-retries 5 - env: - CRANK_E2E_USE_EXTERNAL_POSTGRES: "1" - CRANK_E2E_POSTGRES_HOST: postgres - CRANK_E2E_POSTGRES_PORT: "5432" - CRANK_E2E_POSTGRES_DB: crank - CRANK_E2E_POSTGRES_USER: crank - CRANK_E2E_POSTGRES_PASSWORD: crank steps: - name: Checkout