From bcbd7ec89c32115cc49db1152e4d8b87a1f0a293 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9=20=D0=A1=D0=B0?= =?UTF-8?q?=D0=B1=D0=B8=D0=BB=D0=B8=D0=BD?= Date: Fri, 10 Jul 2026 22:19:29 +0300 Subject: [PATCH] CI: deploy-ift after CI success, wait for Docker daemon. Co-authored-by: Cursor --- .gitea/workflows/ci.yml | 3 ++- .gitea/workflows/deploy-ift.yml | 35 +++++++++++++++++++++++++++++---- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 716fb47..3779ac6 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -4,9 +4,10 @@ on: push: branches: [master, main] pull_request: + workflow_dispatch: concurrency: - group: eventhub-frontadmin-${{ github.ref }} + group: eventhub-frontadmin-ci-${{ github.ref }} cancel-in-progress: false jobs: diff --git a/.gitea/workflows/deploy-ift.yml b/.gitea/workflows/deploy-ift.yml index 461c1b5..0e47c32 100644 --- a/.gitea/workflows/deploy-ift.yml +++ b/.gitea/workflows/deploy-ift.yml @@ -1,13 +1,14 @@ name: Deploy IFT (admin) on: - push: + workflow_run: + workflows: [CI] + types: [completed] branches: [master, main] workflow_dispatch: -# Один runner (WSL): параллельные workflow ломают buildx/act. concurrency: - group: eventhub-frontadmin-${{ github.ref }} + group: eventhub-frontadmin-deploy-ift cancel-in-progress: false env: @@ -17,14 +18,26 @@ env: jobs: deploy-ift-admin: + if: | + github.event_name == 'workflow_dispatch' || + (github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success') runs-on: ubuntu-latest timeout-minutes: 90 steps: - uses: actions/checkout@v4 + with: + ref: ${{ github.event_name == 'workflow_run' && github.event.workflow_run.head_sha || github.sha }} - name: Compute image tag id: meta - run: echo "tag=sha-${GITHUB_SHA:0:12}" >> "$GITHUB_OUTPUT" + run: | + set -euo pipefail + if [ "${{ github.event_name }}" = "workflow_run" ]; then + SHA="${{ github.event.workflow_run.head_sha }}" + else + SHA="${GITHUB_SHA}" + fi + echo "tag=sha-${SHA:0:12}" >> "$GITHUB_OUTPUT" - uses: actions/setup-node@v4 with: @@ -34,6 +47,20 @@ jobs: - run: npm ci - run: npm run build + - name: Wait for Docker daemon + run: | + set -euo pipefail + for i in $(seq 1 36); do + if docker info >/dev/null 2>&1; then + echo "Docker ready" + exit 0 + fi + echo "waiting for docker (${i}/36)..." + sleep 5 + done + echo "Docker daemon not available" + exit 1 + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3