chore(oss): remove build-aec-deps workflow from public repo #138
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: | |
| - staging | |
| - production | |
| - main | |
| pull_request: | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| guard-premium-files: | |
| name: Guard Premium Files | |
| runs-on: ubuntu-latest | |
| if: github.ref == 'refs/heads/main' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Fail if premium-only files are present | |
| run: | | |
| if [ ! -f .premium-paths ]; then | |
| echo "No .premium-paths file — skipping guard" | |
| exit 0 | |
| fi | |
| FOUND="" | |
| while IFS= read -r line; do | |
| [ "$line" = "---" ] && break | |
| line="${line%%#*}" | |
| line="$(echo "$line" | xargs)" | |
| [ -z "$line" ] && continue | |
| path="${line%/}" | |
| if [ -e "$path" ]; then | |
| echo "ERROR: Premium-only path found: $path" | |
| FOUND="$FOUND $path" | |
| fi | |
| done < .premium-paths | |
| if [ -n "$FOUND" ]; then | |
| echo "" | |
| echo "These paths should only exist on the premium branch." | |
| echo "Remove them before pushing to origin/main." | |
| exit 1 | |
| fi | |
| echo "No premium files found — OK" | |
| test-electron: | |
| name: Electron Tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Security audit | |
| run: npm audit --audit-level=critical | |
| - name: Type check | |
| run: npx tsc --noEmit | |
| - name: Run tests | |
| run: npx vitest run | |
| check-backend: | |
| name: Check Backend Exists | |
| runs-on: ubuntu-latest | |
| outputs: | |
| exists: ${{ steps.check.outputs.exists }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Check if backend directory exists | |
| id: check | |
| run: | | |
| if [ -d backend ] && [ -f backend/package.json ]; then | |
| echo "exists=true" >> "$GITHUB_OUTPUT" | |
| else | |
| echo "exists=false" >> "$GITHUB_OUTPUT" | |
| fi | |
| test-backend: | |
| name: Backend Tests | |
| needs: check-backend | |
| if: needs.check-backend.outputs.exists == 'true' | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: backend | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| cache-dependency-path: backend/package-lock.json | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Security audit | |
| run: npm audit --audit-level=critical | |
| - name: Generate Prisma client | |
| run: npx prisma generate | |
| - name: Type check | |
| run: npx tsc --noEmit | |
| - name: Run tests | |
| run: npm test |