Skip to content

[Image] Add the UX Image package #2613

[Image] Add the UX Image package

[Image] Add the UX Image package #2613

Workflow file for this run

name: Browser Tests
defaults:
run:
shell: bash
on:
push:
branches-ignore:
- 'dependabot/**'
paths-ignore:
- '.github/workflows/app-tests.yaml'
- '.github/workflows/unit-tests.yaml'
- 'src/*/doc/**'
- 'src/**/*.md'
pull_request:
paths-ignore:
- '.github/workflows/app-tests.yaml'
- '.github/workflows/unit-tests.yaml'
- 'src/*/doc/**'
- 'src/**/*.md'
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
permissions: {}
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
symfony: ['7.4', '8.1']
browser: ['chrome-lowest', 'chrome-latest', 'firefox-latest']
env:
SYMFONY_REQUIRE: '${{ matrix.symfony }}.*'
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: pnpm/setup@84cb39b217b10273981911c288cd62326dc7c6d2 # v2.0.2
with:
cache: true
- name: Cache custom browsers
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: ./browsers
key: ${{ runner.os }}-browsers-${{ matrix.browser }}-${{ hashFiles('bin/get_browsers.mjs') }}
- name: Install custom browsers
run: node ./bin/get_browsers.mjs
- name: Install browsers with Playwright
run: pnpm exec playwright install firefox ffmpeg
- uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 # 2.37.2
with:
php-version: ${{ matrix.symfony >= '8.0' && '8.5' || '8.4' }}
tools: symfony-cli, flex
- name: Install root PHP dependencies
uses: ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda # 4.0.0
with:
working-directory: ${{ github.workspace }}
- name: Build root PHP packages
run: php .github/build-packages.php
- name: Start Docker containers
run: docker compose up -d --build --wait
working-directory: apps/e2e
- name: Show running Docker containers
run: |
docker compose ps -a
docker compose logs
working-directory: apps/e2e
- name: Configure E2E app
run: |
echo 'APP_SECRET=df4c071596e64cc75a349456f2887ae2419ae650' >> .env.local
echo 'APP_ENV=prod' >> .env.local
working-directory: apps/e2e
- name: Install E2E PHP dependencies
uses: ramsey/composer-install@65e4f84970763564f46a70b8a54b90d033b3bdda # 4.0.0
with:
working-directory: apps/e2e
dependency-versions: highest
custom-cache-suffix: symfony-${{ matrix.symfony }}
composer-options: '--no-dev --optimize-autoloader --classmap-authoritative'
- name: Optimize E2E app
run: |
symfony console asset-map:compile
symfony console ux:icons:warm-cache
working-directory: apps/e2e
- name: Start E2E app
run: symfony serve --daemon
working-directory: apps/e2e
- name: Run browser tests
run: pnpm run test:browser --project ${{ matrix.browser }}
id: browser-tests
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: ${{ always() && steps.browser-tests.conclusion == 'failure' }}
with:
name: Playwright report and output (${{ matrix.symfony }}, ${{ matrix.browser }})
path: |
src/**/assets/playwright-report/
src/**/assets/playwright-output/
retention-days: 7
include-hidden-files: true
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: ${{ always() && steps.browser-tests.conclusion == 'failure' }}
with:
name: Symfony logs (${{ matrix.symfony }}, ${{ matrix.browser }})
path: apps/e2e/var/log/
retention-days: 7