1111 branches :
1212 - " *.x"
1313 - " master"
14+ schedule :
15+ - cron : ' 0 * * * *'
16+ # - cron: '0 0 * * 0'
1417
1518# Cancels all previous workflow runs for the same branch that have not yet completed.
1619concurrency :
7376 uses : " actions/checkout@v5"
7477
7578 - name : " Install dependencies (apt)"
76- run : |
77- sudo apt-get update
79+ run : sudo apt-get update
7880
7981 - name : " Install PHP"
8082 uses : " shivammathur/setup-php@v2"
8688
8789 - name : " Install dependencies (Composer)"
8890 uses : " ramsey/composer-install@v3"
89- with :
90- dependency-versions : " ${{ matrix.dependencies }}"
9191
9292 - name : " Run unit tests (PHPUnit)"
9393 run : " ./vendor/bin/phpunit --colors=always --coverage-text --coverage-clover build/logs/clover.xml"
@@ -127,8 +127,7 @@ jobs:
127127
128128 - name : " Install dependencies (apt)"
129129 if : ${{ matrix.operating-system == 'ubuntu-latest' }}
130- run : |
131- sudo apt-get update
130+ run : sudo apt-get update
132131
133132 # Set up PHP
134133 - name : " Setup PHP"
@@ -141,10 +140,62 @@ jobs:
141140 # Install Composer dependencies
142141 - name : " Install dependencies (Composer)"
143142 uses : " ramsey/composer-install@v3"
144- with :
145- dependency-versions : " ${{ matrix.dependency-versions }}"
146143
147144 # Run Tests
148145 - name : " Run unit tests (PHPUnit)"
149146 run : " ./vendor/bin/phpunit --colors=always --no-coverage"
150147
148+ e2e-tests :
149+ name : " E2E Tests"
150+ timeout-minutes : 60
151+ runs-on : ${{ matrix.operating-system }}
152+ strategy :
153+ fail-fast : false
154+ matrix :
155+ php-version :
156+ - " 8.3"
157+ - " 8.4"
158+ operating-system :
159+ - " ubuntu-latest"
160+ - " macos-latest"
161+ include :
162+ # Keep the locked version by default
163+ - dependency-versions : " locked"
164+
165+ steps :
166+ # Check out the repository
167+ - name : " Checkout Code"
168+ uses : " actions/checkout@v5"
169+
170+ # Set up PHP
171+ - name : " Setup PHP"
172+ uses : " shivammathur/setup-php@v2"
173+ with :
174+ php-version : " ${{ matrix.php-version }}"
175+ extensions : mbstring, pdo, json, tokenizer, xml # Add required PHP extensions
176+ coverage : " none"
177+
178+ # Install Composer dependencies
179+ - name : " Install dependencies (Composer)"
180+ uses : " ramsey/composer-install@v3"
181+
182+ # Set up node
183+ - uses : actions/setup-node@v4
184+ with :
185+ node-version : lts/*
186+
187+ # Install playwright dependencies
188+ - name : Install dependencies
189+ run : cd e2e-tests && npm ci && npx playwright install --with-deps
190+
191+ # # Run the e2e tests
192+ # - name: Run Playwright tests
193+ # run: cd e2e-tests && npx playwright test
194+
195+ # # Upload report after each run
196+ # - uses: actions/upload-artifact@v4
197+ # if: ${{ !cancelled() }}
198+ # with:
199+ # name: playwright-report
200+ # path: ./e2e-tests/playwright-report/
201+ # retention-days: 30
0 commit comments