Skip to content

GitHub Actions

Avec GitHub Actions, le plus simple est souvent de séparer le build et l'exécution des tests.

L'idée est la suivante :

  • un job build le projet
  • ce job publie dist comme artefact
  • un second job télécharge cet artefact puis lance Playwright

Ce découpage est utile quand les tests doivent consommer la version réellement buildée du projet.

Job de build

yml
build:
  runs-on: ubuntu-latest
  steps:
    - uses: actions/checkout@v4
    - uses: actions/setup-node@v4
      with:
        node-version: "24.x"
    - run: npm ci
    - run: npm run build
    - uses: actions/upload-artifact@v4
      with:
        name: dist
        path: ./dist

Job Playwright

Le job Playwright peut ensuite télécharger cet artefact et tester la version réellement buildée :

yml
playwright:
  runs-on: ubuntu-latest
  needs: build
  steps:
    - uses: actions/checkout@v4
    - uses: actions/download-artifact@v4
      with:
        name: dist
        path: ./dist
    - uses: actions/setup-node@v4
      with:
        node-version: "24.x"
    - run: npm ci
    - run: npx playwright install --with-deps
    - run: npm run test:playwright

Artefacts utiles

yml
    - run: npm run test:playwright
    - if: always()
      uses: actions/upload-artifact@v4
      with:
        name: test-results
        path: test-results
    - if: always()
      uses: actions/upload-artifact@v4
      with:
        name: playwright-report
        path: playwright-report

Ces artefacts sont surtout utiles si tu veux récupérer les résultats bruts ou le rapport HTML après un échec.

Diffusé sous licence MIT.