Skip to content

E2E Nightly Providers #31

E2E Nightly Providers

E2E Nightly Providers #31

Workflow file for this run

name: E2E Nightly Providers
on:
schedule:
- cron: "0 1 * * *"
workflow_dispatch:
jobs:
e2e-providers:
name: Provider Sandbox E2E
runs-on: ubuntu-latest
services:
postgres:
image: postgres:17-alpine
env:
POSTGRES_USER: rantai_billing
POSTGRES_PASSWORD: rantai_billing
POSTGRES_DB: rantai_billing_test
ports:
- 5444:5432
options: >-
--health-cmd "pg_isready -U rantai_billing"
--health-interval 5s
--health-timeout 3s
--health-retries 5
env:
DATABASE_URL: postgresql://rantai_billing:rantai_billing@localhost:5444/rantai_billing_test
RUST_BACKEND_URL: http://127.0.0.1:8787
E2E_ADMIN_EMAIL: evan@rantai.com
E2E_ADMIN_PASSWORD: admin123
STRIPE_SECRET_KEY: ${{ secrets.STRIPE_SECRET_KEY }}
STRIPE_WEBHOOK_SECRET: ${{ secrets.STRIPE_WEBHOOK_SECRET }}
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- uses: dtolnay/rust-toolchain@stable
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Prepare database schema
run: bun run db:push
- name: Seed auth user
run: bun run db:seed
- name: Install Playwright browser
run: bunx playwright install --with-deps chromium
- name: Check provider secret presence
run: |
if [ -z "$STRIPE_SECRET_KEY" ]; then
echo "STRIPE_SECRET_KEY missing, skipping provider tests"
exit 0
fi
- name: Run provider E2E
run: bun run test:e2e:providers
- name: Upload Playwright report
if: always()
uses: actions/upload-artifact@v4
with:
name: playwright-report-providers
path: playwright-report/
- name: Upload Playwright traces
if: always()
uses: actions/upload-artifact@v4
with:
name: playwright-test-results-providers
path: test-results/