Feat/esm #5241
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: Playwright Tests | |
on: | |
push: | |
branches: | |
- 3.x | |
pull_request: | |
branches: | |
- '**' | |
env: | |
CI: true | |
# Force terminal colors. @see https://www.npmjs.com/package/colors | |
FORCE_COLOR: 1 | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
strategy: | |
matrix: | |
node-version: [20.x] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 7.4 | |
- name: npm install | |
run: | | |
npm i --force | |
env: | |
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: true | |
- name: Allow Release info Change | |
run: | | |
sudo apt-get update --allow-releaseinfo-change | |
- name: Install browsers and deps | |
run: npx playwright install && npx playwright install-deps | |
- name: check | |
run: './bin/codecept.js check -c test/acceptance/codecept.Playwright.js' | |
timeout-minutes: 2 | |
- name: start a server | |
run: 'php -S 127.0.0.1:8000 -t test/data/app &' | |
- name: start json-server | |
run: 'npm run json-server &' | |
- name: wait for servers | |
run: 'sleep 3' | |
- name: run chromium unit tests | |
run: | | |
# Set a global timeout to ensure tests don't hang | |
timeout 15m ./node_modules/.bin/mocha test/helper/Playwright_test.js --timeout 35000 --reporter @testomatio/reporter/mocha || echo "Tests timed out or failed" | |
timeout-minutes: 18 | |
- name: run chromium tests | |
run: 'BROWSER=chromium ./bin/codecept.js run -c test/acceptance/codecept.Playwright.js --grep @Playwright --debug' | |
timeout-minutes: 18 | |
- name: run chromium with restart==browser tests | |
run: 'BROWSER_RESTART=browser ./bin/codecept.js run -c test/acceptance/codecept.Playwright.js --grep @Playwright --debug' | |
timeout-minutes: 18 | |
- name: run chromium with restart==session tests | |
run: 'BROWSER_RESTART=session ./bin/codecept.js run -c test/acceptance/codecept.Playwright.js --grep @Playwright --debug' | |
timeout-minutes: 18 | |
- name: run firefox tests | |
run: 'BROWSER=firefox node ./bin/codecept.js run -c test/acceptance/codecept.Playwright.js --grep @Playwright --debug' | |
timeout-minutes: 18 | |
- name: run webkit tests | |
run: 'BROWSER=webkit node ./bin/codecept.js run -c test/acceptance/codecept.Playwright.js --grep @Playwright --debug' | |
timeout-minutes: 18 | |
env: | |
GH_PAT: ${{ github.token }} |