feat(billing): measure the click-to-Stripe gap, and sell the outcome #50
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| jobs: | |
| backend-tests: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| # Tests only touch light modules (subtitles/hooks/translate/edit_builder | |
| # and the cloud metering helpers), so we install just what they import | |
| # instead of the full requirements.txt (faster-whisper/ultralytics/ | |
| # mediapipe are too heavy for CI). sqlalchemy is needed because | |
| # tests/test_metering_free_plan.py imports cloud.metering. | |
| - name: Install test dependencies | |
| run: pip install pytest pillow httpx pydantic sqlalchemy | |
| - name: Run tests | |
| run: pytest tests/ -v | |
| frontend-build: | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: dashboard | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20" | |
| cache: npm | |
| cache-dependency-path: dashboard/package-lock.json | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build | |
| run: npm run build |