deploy-pipeline
Run end-to-end deploy pipelines across Stripe, Supabase, and Vercel using the Composio CLI. Promote Stripe products, push Supabase migrations, ship Vercel deployments, and verify with post-deploy checks — all from one script.
By composio-community · 432 installs
npx skills add composio-community/awesome-codex-skills --skill deploy-pipeline
Source repository · Upstream listing
Deploy Pipeline (Stripe / Supabase / Vercel)
Coordinate staged releases across Stripe, Supabase, and Vercel from the shell using the [Composio CLI](https://docs.composio.dev/docs/cli). One script kicks off the whole "ship it" sequence: product/price updates, DB migrations, frontend deploy, smoke checks, changelog post.
When to Use
Full stack product launch that touches billing, database, and frontend together.
Promoting a preview Vercel build to production with a Stripe price flip and a Supabase migration.
Weekly release trains where the same sequence repeats and you want it reliable.
Prereqs
Discover Tools
Common slugs (verify with get schema ):
Stripe
STRIPE CREATE PRODUCT
STRIPE CREATE PRICE
STRIPE UPDATE PRODUCT
STRIPE LIST PRICES
Supabase
SUPABASE LIST PROJECTS
SUPABASE RUN SQL QUERY
SUPABASE LIST MIGRATIONS
SUPABASE APPLY MIGRATION
Vercel
VERCEL CREATE A NEW DEPLOYMENT
VERCEL GET A DEPLOYMENT BY ID OR URL
VERCEL LIST DEPLOYMENTS
VERCEL PROMOTE DEPLOYMENT
The Pipeline
The order matters: Stripe → Supabase → Vercel → Verify → Announce. Billing changes before DB, DB before frontend.
1. Stripe: Create or Update the Price
2. Supabase: Apply Migrations
Sanity check the schema after:
3. Vercel: Deploy + Promote
Poll until ready:
4. Verify
5. Announce
Pipeline as a Workflow File
scripts/ship.ts , run with composio run file scripts/ship.ts ref main :
Rollback Plan
If verification fails, undo in reverse order :
1. Vercel: VERCEL PROMOTE DEPLOYMENT to the previous deployment ID.
2. Supabase: apply the down migration (always write the paired down.sql before shipping).
3. Stripe: STRIPE UPDATE PRODUCT to hide the new price ( active:false ); do not delete — Stripe objects are immutable in practice and affect historical invoices.
4. Slack: announce the rollback.
Troubleshooting
Stripe price visible but checkout still shows old one → cache on your app side; confirm lookup key is what checkout fetches.
Supabase migration hangs → another connection holds a lock; run select pid, state, query from pg stat activity where state < 'idle'; .
Vercel deploy stuck in QUEUED → check build logs via VERCEL GET A DEPLOYMENT BY ID OR URL with ?logs=1 .
Ordering bug (frontend reads a column before migration applies) → always serialize the pipeline; never parallel across Stripe/Supabase/Vercel.
Full CLI reference: [docs.composio.dev/docs/cli](https://docs.composio.dev/docs/cli)