Skip to content

Commit 9239227

Browse files
ci: stop firing the full e2e-prod live suite on every API build (#277)
Revert the dispatch-e2e-prod job (added in #275): firing the full live-PROVISION suite on every push to master, alongside instanode-web's push:[main], ran it dozens of times on a busy day and accumulated real customer DBs on shared prod infra faster than reaps cleaned them — degrading prod provisioning (vector live test 10s→2min). The money path stays covered per-build by the api webhook-injection unit test + the auth-contract dispatch; the full live suite runs on the e2e-prod cron + on-demand. Pairs with instanode-web cadence PR. Co-authored-by: Claude <noreply@anthropic.com>
1 parent 9a46978 commit 9239227

1 file changed

Lines changed: 0 additions & 59 deletions

File tree

.github/workflows/ci.yml

Lines changed: 0 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -320,62 +320,3 @@ jobs:
320320
if [ "$http_code" != "204" ]; then
321321
echo "::warning::cross-repo dispatch returned $http_code (expected 204). Not failing the api PR yet."
322322
fi
323-
324-
# Cross-repo payment/UI integration gate. The api owns the cohort test-mode
325-
# checkout routing + the Razorpay webhook tier-elevation — an api change that
326-
# breaks them would not trigger instanode-web CI on its own, so the
327-
# browser-level money-funnel regression could ship despite green api units.
328-
#
329-
# On every push to master (an API "build"/deploy) this fires a
330-
# repository_dispatch that instanode-web's e2e-prod.yml listens for
331-
# (`e2e-prod-from-deploy`): it installs Chromium and drives the full
332-
# live-ui-payment flow (free cohort → UI Upgrade → Razorpay TEST checkout →
333-
# card → assert Pro) against the just-deployed prod, plus the rest of the live
334-
# suite. push-to-master only (NOT per-PR): the full leg mints a real TEST-mode
335-
# subscription, so we run it on the deploy, not on every PR push.
336-
#
337-
# Auth: REPO_ACCESS_TOKEN must have `repo` scope on instanode-web (same secret
338-
# as the auth-contract dispatch above). Missing → soft-skip so api CI stays
339-
# green during rollout.
340-
dispatch-e2e-prod:
341-
name: Trigger instanode-web e2e-prod payment/UI suite (post-deploy)
342-
runs-on: ubuntu-latest
343-
needs: build-and-test
344-
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
345-
steps:
346-
- name: Fire e2e-prod-from-deploy repository_dispatch on instanode-web
347-
env:
348-
DISPATCH_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
349-
SHA: ${{ github.sha }}
350-
TRIGGER: ${{ github.event_name }}
351-
run: |
352-
set -euo pipefail
353-
if [ -z "${DISPATCH_TOKEN:-}" ]; then
354-
echo "::warning::REPO_ACCESS_TOKEN not set; skipping cross-repo e2e-prod dispatch. " \
355-
"Provision the secret (with \`repo\` scope on instanode-web) to run the payment/UI suite on every API build."
356-
exit 0
357-
fi
358-
# SHA is a 40-char hex from github.sha — repo-controlled. Validate shape.
359-
case "$SHA" in
360-
[0-9a-f]*) ;;
361-
*) echo "::error::unexpected SHA shape: $SHA"; exit 1 ;;
362-
esac
363-
case "$TRIGGER" in
364-
push) ;;
365-
*) echo "::error::unexpected TRIGGER: $TRIGGER"; exit 1 ;;
366-
esac
367-
payload=$(printf '{"event_type":"e2e-prod-from-deploy","client_payload":{"api_sha":"%s","trigger":"%s","api_url":"https://api.instanode.dev","web_origin":"https://instanode.dev"}}' \
368-
"$SHA" "$TRIGGER")
369-
echo "Dispatching to InstaNode-dev/instanode-web: $payload"
370-
http_code=$(curl -sS -o /tmp/dispatch_e2e.out -w '%{http_code}' \
371-
-X POST \
372-
-H "Accept: application/vnd.github+json" \
373-
-H "Authorization: Bearer ${DISPATCH_TOKEN}" \
374-
-H "X-GitHub-Api-Version: 2022-11-28" \
375-
https://api.github.com/repos/InstaNode-dev/instanode-web/dispatches \
376-
-d "$payload")
377-
echo "dispatch response: HTTP $http_code"
378-
cat /tmp/dispatch_e2e.out || true
379-
if [ "$http_code" != "204" ]; then
380-
echo "::warning::e2e-prod dispatch returned $http_code (expected 204). Not failing the api build yet."
381-
fi

0 commit comments

Comments
 (0)