From 9921c1f4b3b539f737a41391ce560cf573a78b54 Mon Sep 17 00:00:00 2001 From: "gorbenko.pavel" Date: Thu, 23 Jul 2026 16:06:11 +0500 Subject: [PATCH] =?UTF-8?q?=D0=B5=D1=89=D0=B5=20=D0=BF=D0=BE=D0=BF=D1=8B?= =?UTF-8?q?=D1=82=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/test.yml | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index b495251..e27ddae 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -11,20 +11,6 @@ on: jobs: test: runs-on: ubuntu-latest - services: - postgres: - image: postgres:16-alpine - env: - POSTGRES_DB: tnsu_approval_route - POSTGRES_USER: tnsu_approval_route - POSTGRES_PASSWORD: tnsu_approval_route - ports: - - 5432:5432 - options: >- - --health-cmd "pg_isready -U tnsu_approval_route -d tnsu_approval_route" - --health-interval 5s - --health-timeout 3s - --health-retries 10 steps: - name: Checkout @@ -34,18 +20,26 @@ jobs: uses: actions/setup-dotnet@v4 with: dotnet-version: '10.0.x' - + + - name: Install PostgreSQL + run: | + sudo apt-get update + sudo apt-get install -y postgresql + sudo systemctl start postgresql + sudo -u postgres psql -c "CREATE USER tnsu_approval_route WITH PASSWORD 'tnsu_approval_route' SUPERUSER;" + sudo -u postgres psql -c "CREATE DATABASE tnsu_approval_route OWNER tnsu_approval_route;" + - name: Wait for Postgres run: | for i in $(seq 1 30); do - if (echo > /dev/tcp/postgres/5432) 2>/dev/null; then - echo "Postgres is reachable" + if pg_isready -h localhost -p 5432 -U tnsu_approval_route -d tnsu_approval_route; then + echo "Postgres is ready" exit 0 fi echo "Waiting for postgres... ($i/30)" sleep 2 done - echo "Postgres did not become reachable in time" >&2 + echo "Postgres did not become ready in time" >&2 exit 1 - name: Restore @@ -56,7 +50,5 @@ jobs: - name: Test env: - # act_runner запускает джобу в отдельном контейнере на одной docker-сети с сервисами — - # postgres здесь резолвится по имени сервиса, а не через localhost/127.0.0.1 (это не VM, как в GitHub-hosted runners). - TEST_POSTGRES_CONNECTION: "Host=postgres;Port=5432;Database=tnsu_approval_route;Username=tnsu_approval_route;Password=tnsu_approval_route" + TEST_POSTGRES_CONNECTION: "Host=localhost;Port=5432;Database=tnsu_approval_route;Username=tnsu_approval_route;Password=tnsu_approval_route" run: dotnet test backend/Tnsu.ApprovalRoute.sln --no-build -c Release