feat(mail): wire Tipimail SMTP on prod (#3237) (#3238) #11543
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: 🧪 E2E Tests | |
| on: | |
| push: | |
| workflow_dispatch: | |
| concurrency: | |
| group: e2e-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| e2e: | |
| name: "Test e2e" | |
| runs-on: ubuntu-latest | |
| env: | |
| DATABASE_URL: postgresql://postgres:postgres@localhost:5438/egapro | |
| AUTH_SECRET: ${{ secrets.AUTH_SECRET }} | |
| NEXTAUTH_URL: http://localhost:3000/api/auth | |
| EGAPRO_PROCONNECT_CLIENT_ID: ${{ secrets.EGAPRO_PROCONNECT_CLIENT_ID }} | |
| EGAPRO_PROCONNECT_CLIENT_SECRET: ${{ secrets.EGAPRO_PROCONNECT_CLIENT_SECRET }} | |
| EGAPRO_PROCONNECT_ISSUER: ${{ secrets.EGAPRO_PROCONNECT_ISSUER }} | |
| EGAPRO_WEEZ_API_URL: ${{ secrets.EGAPRO_WEEZ_API_URL }} | |
| EGAPRO_SUIT_API_URL: ${{ secrets.EGAPRO_SUIT_API_URL }} | |
| # Deterministic dev value matching the E2E test's hardcoded key. | |
| # The real secret is only needed in deployed environments. | |
| EGAPRO_SUIT_API_KEY: dev-suit-api-key-minimum-32-chars-long | |
| S3_ENDPOINT: http://localhost:9000 | |
| S3_REGION: us-east-1 | |
| S3_ACCESS_KEY_ID: minioadmin | |
| S3_SECRET_ACCESS_KEY: minioadmin | |
| S3_BUCKET_NAME: egapro-dev-app | |
| CLAMAV_HOST: localhost | |
| CLAMAV_PORT: 3310 | |
| ADMIN_EMAILS: test@fia1.fr | |
| # Required by env.js but never exercised by E2E tests (the audit | |
| # cleanup route is only called by the K8s CronJob). A dummy value | |
| # that satisfies the `.min(32)` Zod check is enough. | |
| EGAPRO_AUDIT_CLEANUP_TOKEN: e2e-dummy-audit-cleanup-token-not-used-1234567890 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Start services | |
| run: docker compose up -d | |
| - uses: pnpm/action-setup@v4 | |
| - name: Set up Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: ".nvmrc" | |
| cache: pnpm | |
| - name: Restore CI build cache | |
| id: cache | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: ./* | |
| key: "${{ github.sha }}" | |
| - name: Install dependencies | |
| if: steps.cache.outputs.cache-hit != 'true' | |
| run: pnpm install --frozen-lockfile | |
| - name: Build | |
| if: steps.cache.outputs.cache-hit != 'true' | |
| run: pnpm build | |
| - name: Apply database schema | |
| run: pnpm db:push | |
| - name: Install Playwright browsers | |
| run: pnpm playwright:install | |
| - name: Run E2E tests | |
| run: pnpm test:e2e | |
| - name: Stop services | |
| if: always() | |
| run: docker compose down | |
| - name: Upload Playwright report | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: playwright-report | |
| path: packages/app/playwright-report/ | |
| retention-days: 7 |