diff --git a/.gitea/workflows/ci-cd.yml b/.gitea/workflows/ci-cd.yml index 4d12e6b3f..7c4fc61d6 100755 --- a/.gitea/workflows/ci-cd.yml +++ b/.gitea/workflows/ci-cd.yml @@ -245,17 +245,33 @@ jobs: - name: Validate Alembic migrations if: env.IS_FRONTEND_ONLY != 'true' shell: bash - run: 'set -eu - - python3 -m alembic upgrade head --sql > /tmp/alembic-upgrade.sql - - test -s /tmp/alembic-upgrade.sql - - grep -q "Running upgrade" /tmp/alembic-upgrade.sql - + shell: bash + run: | + set +e + echo "=== Validating Alembic migrations ===" + python3 -m alembic upgrade head --sql > /tmp/alembic-upgrade.sql 2> /tmp/alembic-err.log + RC=0 + echo "Exit code: " + if [ -ne 0 ]; then + echo "=== STDERR ===" + cat /tmp/alembic-err.log + echo "=== STDOUT (last 30 lines) ===" + tail -30 /tmp/alembic-upgrade.sql + exit 1 + fi + if ! test -s /tmp/alembic-upgrade.sql; then + echo "ERROR: empty output" + cat /tmp/alembic-err.log + exit 1 + fi + if ! grep -q "Running upgrade" /tmp/alembic-upgrade.sql; then + echo "ERROR: no Running upgrade" + head -30 /tmp/alembic-upgrade.sql + exit 1 + fi python3 scripts/check_schema_metadata.py - - ' + echo "Alembic validation PASSED" + set -e - name: Check migration safety if: env.IS_FRONTEND_ONLY != 'true' shell: bash