From 476333933516b9c455901d74e9e4c919268d863f Mon Sep 17 00:00:00 2001 From: mrleo1nid <43583385+mrleo1nid@users.noreply.github.com> Date: Tue, 20 Oct 2026 23:59:28 +0300 Subject: [PATCH] ci(db): wait for the service containers before the tests Co-Authored-By: Claude Opus 5.5 --- .gitea/workflows/ci-db.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.gitea/workflows/ci-db.yml b/.gitea/workflows/ci-db.yml index 946748b..15ec153 100644 --- a/.gitea/workflows/ci-db.yml +++ b/.gitea/workflows/ci-db.yml @@ -54,6 +54,19 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: { go-version: "1.24", cache-dependency-path: services/api/go.sum } + # Контейнеры сервисов стартуют параллельно с job: без ожидания тесты иногда не находят даже DNS-имя postgres. + - name: Ждём Postgres, Redis и Meilisearch + run: | + for svc in postgres:5432 redis:6379 meilisearch:7700; do + host=${svc%:*}; port=${svc#*:} + for i in $(seq 1 60); do + if getent hosts "$host" >/dev/null && timeout 2 bash -c "/dev/null; then + echo "$svc готов"; break + fi + [ "$i" = 60 ] && { echo "$svc не поднялся за 2 минуты" >&2; exit 1; } + sleep 2 + done + done - name: Go — миграции и запросы store working-directory: services/api run: go test -tags integration -count=1 -v ./internal/dbtest/