From ee6034b5fdca0b79ee67e78fd5c6fa1ca0a83b47 Mon Sep 17 00:00:00 2001 From: XiaoXia Bot Date: Thu, 16 Jul 2026 16:11:35 +0800 Subject: [PATCH] =?UTF-8?q?fix(ci):=20=E4=BF=AE=E5=A4=8DYAML=E8=AF=AD?= =?UTF-8?q?=E6=B3=95=EF=BC=8Calembic=E6=AD=A5=E9=AA=A4=E6=94=B9=E7=94=A8li?= =?UTF-8?q?teral=20block=20scalar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/ci-cd.yml | 59 ++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 25 deletions(-) diff --git a/.gitea/workflows/ci-cd.yml b/.gitea/workflows/ci-cd.yml index 5cc5f1006..0df624371 100755 --- a/.gitea/workflows/ci-cd.yml +++ b/.gitea/workflows/ci-cd.yml @@ -133,31 +133,40 @@ jobs: shell: sh env: GITHUB_TOKEN: ${{ github.token }} - run: "set -eu -PG_CONTAINER=ci-pg-validate-${GITHUB_RUN_ID:-$$} -docker rm -f "$PG_CONTAINER" 2>/dev/null || true -docker run -d --name "$PG_CONTAINER" \\n --shm-size=256m \\n -e POSTGRES_USER=postgres \\n -e POSTGRES_PASSWORD=postgres \\n -e POSTGRES_DB=xiaoxia_saas \\n -P \\n --health-cmd "pg_isready -U postgres" \\n --health-interval 3s \\n --health-timeout 3s \\n --health-retries 20 \\n postgres:16-alpine -PG_PORT=$(docker port "$PG_CONTAINER" 5432/tcp | cut -d: -f2) -echo "PostgreSQL port: $PG_PORT" -export DATABASE_URL=postgresql+psycopg://postgres:postgres@127.0.0.1:$PG_PORT/xiaoxia_saas -for i in $(seq 1 30); do - if docker inspect --format="{{.State.Health.Status}}" "$PG_CONTAINER" 2>/dev/null | grep -q healthy; then - echo "PostgreSQL is ready on port $PG_PORT" - break - fi - echo "Waiting for PostgreSQL... ($i/30)" - sleep 2 -done -docker inspect --format="{{.State.Health.Status}}" "$PG_CONTAINER" | grep -q healthy -python3 -m alembic upgrade head --sql > /tmp/alembic-upgrade.sql -test -s /tmp/alembic-upgrade.sql -grep -q "Running upgrade" /tmp/alembic-upgrade.sql -python3 scripts/check_schema_metadata.py -python3 scripts/check_migration_safety.py --allow-medium-risk --diff-against origin/develop -docker rm -f "$PG_CONTAINER" 2>/dev/null || true -echo "PostgreSQL container cleaned up" -" - + run: | + set -eu + PG_CONTAINER=ci-pg-validate-${GITHUB_RUN_ID:-$$} + docker rm -f "$PG_CONTAINER" 2>/dev/null || true + docker run -d --name "$PG_CONTAINER" \ + --shm-size=256m \ + -e POSTGRES_USER=postgres \ + -e POSTGRES_PASSWORD=postgres \ + -e POSTGRES_DB=xiaoxia_saas \ + -P \ + --health-cmd "pg_isready -U postgres" \ + --health-interval 3s \ + --health-timeout 3s \ + --health-retries 20 \ + postgres:16-alpine + PG_PORT=$(docker port "$PG_CONTAINER" 5432/tcp | cut -d: -f2) + echo "PostgreSQL port: $PG_PORT" + export DATABASE_URL=postgresql+psycopg://postgres:postgres@127.0.0.1:$PG_PORT/xiaoxia_saas + for i in $(seq 1 30); do + if docker inspect --format='{{.State.Health.Status}}' "$PG_CONTAINER" 2>/dev/null | grep -q healthy; then + echo "PostgreSQL is ready on port $PG_PORT" + break + fi + echo "Waiting for PostgreSQL... ($i/30)" + sleep 2 + done + docker inspect --format='{{.State.Health.Status}}' "$PG_CONTAINER" | grep -q healthy + python3 -m alembic upgrade head --sql > /tmp/alembic-upgrade.sql + test -s /tmp/alembic-upgrade.sql + grep -q "Running upgrade" /tmp/alembic-upgrade.sql + python3 scripts/check_schema_metadata.py + python3 scripts/check_migration_safety.py --allow-medium-risk --diff-against origin/develop + docker rm -f "$PG_CONTAINER" 2>/dev/null || true + echo "PostgreSQL container cleaned up" - name: Job duration summary if: always()