Cleaned up some remnant Firebase code and removed/relocated markdown files in root dir #10
Workflow file for this run
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 Pipeline (No Deploy) | |
| on: | |
| pull_request: | |
| branches: [ main, develop ] | |
| push: | |
| branches: [ develop ] | |
| env: | |
| NODE_VERSION: '22' | |
| jobs: | |
| lint-and-build: | |
| name: Lint and Build | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Run linter | |
| run: npm run lint | |
| - name: Build application | |
| run: npm run build | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@v4 | |
| if: success() | |
| with: | |
| name: build-files | |
| path: .next/ | |
| retention-days: 1 | |
| test: | |
| name: Playwright Tests | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| needs: lint-and-build | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Install Playwright Browsers | |
| run: npx playwright install --with-deps | |
| - name: Run Playwright tests | |
| run: npm run test | |
| - name: Upload Playwright Report | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: playwright-report | |
| path: playwright-report/ | |
| retention-days: 30 | |
| - name: Upload Test Results | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: test-results | |
| path: test-results.json | |
| retention-days: 30 | |
| test-functions: | |
| name: Firebase Functions Tests | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| needs: lint-and-build | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: 'npm' | |
| - name: Install main dependencies | |
| run: npm ci | |
| - name: Install Firebase Functions dependencies | |
| run: npm run functions:install | |
| - name: Build Firebase Functions | |
| run: npm run functions:build | |
| - name: Run Firebase Functions tests | |
| run: npm run functions:test | |
| - name: Verify Functions Tests Passed | |
| if: success() | |
| run: | | |
| echo "✅ All Firebase Functions tests passed!" | |
| echo "📋 Functions are ready for deployment (when merged to main)." | |
| - name: Upload Functions Test Coverage | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: functions-coverage | |
| path: functions/coverage/ | |
| retention-days: 30 | |
| - name: Notify Test Failure | |
| if: failure() | |
| run: | | |
| echo "❌ Firebase Functions tests failed!" | |
| echo "🚫 Functions will not be deployed until tests pass." | |
| echo "🔍 Check the test output above for details." |