test: ✅ Add package playwright for test e2e #221
This file contains 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: Main CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
build-backend: | |
name: Build Backend | |
uses: ./.github/workflows/build.yml | |
with: | |
image: ghcr.io/dnum-mi/referentiel-applications/backend | |
context: ./server | |
build-frontend: | |
name: Build Frontend | |
uses: ./.github/workflows/build.yml | |
with: | |
image: ghcr.io/dnum-mi/referentiel-applications/frontend | |
context: ./client | |
test-format: | |
name: Test Formatting | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run Prettier check | |
run: | | |
npm ci | |
npm run format-check | |
test: | |
runs-on: ubuntu-latest | |
timeout-minutes: 60 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: "lts/*" | |
- name: Install pnpm | |
run: npm install -g pnpm | |
- name: Install dependencies | |
run: pnpm install | |
working-directory: client | |
- name: Install dependencies | |
run: pnpm install | |
working-directory: server | |
- name: Start server for E2E tests | |
run: | | |
cd server | |
pnpm run start:dev & | |
sleep 10 # Attendre que le serveur démarre | |
- name: Start client for E2E tests | |
run: | | |
cd client | |
pnpm run dev & | |
sleep 10 # Attendre que le client démarre | |
- name: Verify Playwright Installation | |
run: pnpm exec playwright --version | |
working-directory: client | |
- name: Install Playwright Browsers | |
run: pnpm exec playwright install --with-deps | |
working-directory: client | |
- name: Run Playwright tests | |
run: pnpm exec playwright test | |
working-directory: client | |
- name: Upload Playwright Report | |
uses: actions/upload-artifact@v4 | |
if: ${{ always() }} | |
with: | |
name: playwright-report | |
path: client/playwright-report/ | |
retention-days: 30 |