From bf5cfff12c977da8a56bc5a7c326f369fe3c9441 Mon Sep 17 00:00:00 2001 From: Denozordec Date: Tue, 8 Sep 2026 09:34:29 +0700 Subject: [PATCH] =?UTF-8?q?ci(backend):=20=D1=83=D0=B1=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20=D0=BA=D0=BE=D0=BD=D1=84=D0=BB=D0=B8=D0=BA=D1=82=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D1=82=D0=B5=D0=B9=D0=BD=D0=B5=D1=80=D0=B0=20?= =?UTF-8?q?PostgreSQL=20=D0=B2=20=D1=82=D0=B5=D1=81=D1=82=D0=B0=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit На общем Docker-раннере имя mm-pg и порт 5432 сталкивались с прошлым запуском. Контейнер и порт теперь уникальны, старый mm-pg снимается. Co-authored-by: Cursor --- .gitea/workflows/docker.yml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/docker.yml b/.gitea/workflows/docker.yml index 65abb4b..7f5bbdb 100644 --- a/.gitea/workflows/docker.yml +++ b/.gitea/workflows/docker.yml @@ -53,30 +53,39 @@ jobs: shell: bash run: | set -euo pipefail - docker run -d --name mm-pg \ + NAME="mm-pg-${{ gitea.run_id }}-${{ gitea.run_attempt }}" + docker rm -f "$NAME" mm-pg 2>/dev/null || true + HOST_PORT=$(python3 -c 'import socket; s=socket.socket(); s.bind(("127.0.0.1", 0)); print(s.getsockname()[1]); s.close()') + docker run -d --name "$NAME" --rm \ -e POSTGRES_USER=mmapp \ -e POSTGRES_PASSWORD=mmapp \ -e POSTGRES_DB=mmapp \ - -p 5432:5432 \ + -p "127.0.0.1:${HOST_PORT}:5432" \ postgres:18-alpine + echo "PG_CONTAINER=$NAME" >> "${GITHUB_ENV}" + echo "DATABASE_URL=postgres://mmapp:mmapp@127.0.0.1:${HOST_PORT}/mmapp" >> "${GITHUB_ENV}" for i in $(seq 1 40); do - if docker exec mm-pg pg_isready -U mmapp -d mmapp; then + if docker exec "$NAME" pg_isready -U mmapp -d mmapp; then exit 0 fi sleep 1 done echo "PostgreSQL не поднялся" + docker logs "$NAME" || true exit 1 - name: Install and test backend shell: bash - env: - DATABASE_URL: postgres://mmapp:mmapp@127.0.0.1:5432/mmapp run: | set -euo pipefail npm ci npm run test --prefix backend + - name: Stop PostgreSQL + if: always() + shell: bash + run: docker rm -f "${PG_CONTAINER:-}" mm-pg 2>/dev/null || true + backend-image: needs: - prepare-release