Skip to content

deps(deps-dev): update cypress requirement in the cypress group #114

deps(deps-dev): update cypress requirement in the cypress group

deps(deps-dev): update cypress requirement in the cypress group #114

Workflow file for this run

name: CI
on:
pull_request:
push:
permissions:
contents: read
code-quality: write
concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
php:
name: PHP ${{ matrix.php-version }}
runs-on: ubuntu-22.04
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
php-version:
- '8.4'
- '8.5'
- '8.6'
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: none
tools: composer:v2
- name: Install Composer dependencies
run: composer update --no-interaction --prefer-dist --no-progress
- name: Validate Composer metadata
run: composer validate --strict
- name: Run PHP tests
run: composer test
javascript:
name: JavaScript and browser tests
runs-on: ubuntu-22.04
timeout-minutes: 20
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.5'
coverage: none
tools: composer:v2
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '22'
- name: Install Cypress system dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
libasound2 \
libgconf-2-4 \
libgbm-dev \
libgtk-3-0 \
libgtk2.0-0 \
libnotify-dev \
libnss3 \
libxss1 \
libxtst6 \
xauth \
xvfb
- name: Install Composer dependencies
run: composer update --no-interaction --prefer-dist --no-progress
- name: Install Node.js dependencies
run: npm install
- name: Run JavaScript unit and browser tests
run: npm test
phpstan:
name: PHPStan
runs-on: ubuntu-22.04
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.5'
coverage: none
tools: composer:v2
- name: Install Composer dependencies
run: composer update --no-interaction --prefer-dist --no-progress
- name: Run PHPStan
run: composer phpstan
coverage:
name: Coverage
runs-on: ubuntu-22.04
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@v7
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.5'
coverage: xdebug
tools: composer:v2
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '22'
- name: Install Composer dependencies
run: composer update --no-interaction --prefer-dist --no-progress
- name: Install Node.js dependencies
run: npm install
- name: Run PHP coverage
run: composer coverage
- name: Run JavaScript coverage
run: npm run test:coverage
- name: Upload PHP coverage to GitHub
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
uses: actions/upload-code-coverage@v1
with:
file: build/coverage/phpunit/cobertura.xml
language: PHP
label: code-coverage/phpunit
- name: Upload JavaScript coverage to GitHub
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
uses: actions/upload-code-coverage@v1
with:
file: build/coverage/jest/cobertura-coverage.xml
language: JavaScript
label: code-coverage/jest
- name: Upload coverage reports
uses: actions/upload-artifact@v7
with:
name: coverage-reports
if-no-files-found: error
path: |
build/coverage/phpunit/cobertura.xml
build/coverage/jest