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/