name: Test Enjoy App on: workflow_dispatch: pull_request_target: branches: - main paths: - "enjoy/**/*.ts" - "enjoy/**/*.tsx" - "enjoy/**/*.js" - "enjoy/**/*.mjs" jobs: e2e: timeout-minutes: 60 runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ macos-latest, macos-13, macos-14, windows-2019, windows-latest, ubuntu-latest, ] steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 20 - name: Install dependencies run: npm install -g yarn && yarn - if: matrix.os == 'macos-latest' name: Install sdl2 for macos run: | brew update brew install sdl2 - if: startsWith(matrix.os, 'ubuntu') name: Run tests with xvfb-run on ubuntu run: | xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" -- yarn test:enjoy - if: startsWith(matrix.os, 'macos') || startsWith(matrix.os, 'windows') name: Run tests run: yarn test:enjoy - uses: actions/upload-artifact@v4 if: always() with: name: playwright-report path: playwright-report/ retention-days: 30