Merge pull request #27 from JustinPerea/codex/video-export-completion #18
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: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| backend: | |
| name: Backend tests (Python 3.12) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5 | |
| - name: Set up Python 3.12 | |
| uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6 | |
| with: | |
| python-version: "3.12" | |
| cache: pip | |
| cache-dependency-path: backend/requirements.txt | |
| - name: Install backend dependencies | |
| run: python -m pip install --requirement backend/requirements.txt | |
| - name: Run backend tests | |
| working-directory: backend | |
| run: python -m pytest | |
| frontend: | |
| name: Frontend tests, lint, and build | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5 | |
| - name: Set up Node.js 22 | |
| uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5 | |
| with: | |
| node-version: "22" | |
| cache: npm | |
| cache-dependency-path: frontend/package-lock.json | |
| - name: Install frontend dependencies | |
| working-directory: frontend | |
| run: npm ci | |
| - name: Run frontend tests | |
| working-directory: frontend | |
| run: npm test | |
| - name: Run frontend lint | |
| working-directory: frontend | |
| run: npm run lint | |
| - name: Build frontend | |
| working-directory: frontend | |
| run: npm run build | |
| contracts: | |
| name: Node and provider contracts | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5 | |
| - name: Set up Node.js 22 | |
| uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5 | |
| with: | |
| node-version: "22" | |
| - name: Check node contracts | |
| run: node scripts/check-node-contracts.mjs | |
| - name: Inventory provider contracts | |
| run: node scripts/contract-inventory.mjs | |
| - name: Check generated model reference | |
| run: node scripts/generate-model-reference.mjs --check |