From e6456ac9a8afcc291b3f521afe9808cf475ca6f3 Mon Sep 17 00:00:00 2001 From: wangdl Date: Sat, 20 Jun 2026 13:58:29 +0800 Subject: [PATCH] feat(ci): add workflow_dispatch to force backward-compat execution - workflow_dispatch input: force_backward_compat (boolean, default false) - Path detection now diffs against origin/main (catches multi-commit pushes) - Set force_backward_compat=true in workflow_dispatch to force the full M-AI-01 compatibility test regardless of changed paths Co-Authored-By: Claude --- .gitea/workflows/deploy.yml | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 850a820..ee6b611 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -3,6 +3,12 @@ name: Deploy API Server on: push: branches: [main] + workflow_dispatch: + inputs: + force_backward_compat: + description: 'Force M-AI-01 backward compatibility test' + type: boolean + default: false env: DATABASE_URL: ${{ secrets.DATABASE_URL }} @@ -114,14 +120,22 @@ jobs: id: paths run: | cd $WORKDIR - CHANGED=$(git diff --name-only HEAD~1..HEAD 2>/dev/null || git diff --name-only HEAD~1 2>/dev/null || echo "") + FORCE="${{ inputs.force_backward_compat || 'false' }}" + if [ "$FORCE" = "true" ]; then + echo "[backward-compat] Forced by workflow_dispatch input" + echo "run_compat=true" > /tmp/compat-decision + exit 0 + fi + # Diff against origin/main to catch all changes in this push + git fetch origin main 2>/dev/null || true + CHANGED=$(git diff --name-only origin/main...HEAD 2>/dev/null || git diff --name-only HEAD~1..HEAD 2>/dev/null || echo "") echo "Changed files: $CHANGED" if echo "$CHANGED" | grep -qE "prisma/schema.prisma|prisma/migrations/|src/modules/ai-analysis/|src/workers/ai-analysis.worker.ts|src/infrastructure/queue/|src/infrastructure/outbox/|src/modules/ai-runtime/ai-job"; then echo "DB-related changes detected — running backward compatibility" - echo "run_compat=true" >> /tmp/compat-decision + echo "run_compat=true" > /tmp/compat-decision else echo "No DB-related changes — skipping backward compatibility" - echo "run_compat=false" >> /tmp/compat-decision + echo "run_compat=false" > /tmp/compat-decision fi - name: Ensure infrastructure