Skip to content

Browser tests

Browser tests #4499

Workflow file for this run

name: Browser tests
on:
workflow_dispatch:
inputs:
send-success-notification:
description: 'Send a notification when the tests pass'
required: false
type: boolean
default: false
project-version:
description: 'Fill only when the tests should run on a stable release'
required: false
type: string
default: ''
push:
branches:
- master
- "[0-9]+.[0-9]+"
pull_request: ~
jobs:
regression-experience-setup1:
name: "PHP 7.4/Node 18/PostgreSQL/Varnish/Redis/Multirepository"
uses: ibexa/gh-workflows/.github/workflows/browser-tests.yml@main
with:
project-edition: "experience"
project-version: ${{ github.event.inputs.project-version }}
test-suite: "--profile=regression --suite=experience"
test-setup-phase-1: "--profile=regression --suite=setup-experience --tags=~@part2 --mode=standard"
test-setup-phase-2: "--profile=regression --suite=setup-experience --tags=@part2 --mode=standard"
setup: "doc/docker/base-dev.yml:doc/docker/db-postgresql.yml:doc/docker/varnish.yml:doc/docker/redis.yml:doc/docker/selenium.yml"
send-success-notification: ${{ github.event.inputs.send-success-notification != 'false' }}
job-count: 4
multirepository: true
php-image: "ghcr.io/ibexa/docker/php:7.4-node18"
timeout: 120
secrets:
SATIS_NETWORK_KEY: ${{ secrets.SATIS_NETWORK_KEY }}
SATIS_NETWORK_TOKEN: ${{ secrets.SATIS_NETWORK_TOKEN }}
TRAVIS_GITHUB_TOKEN: ${{ secrets.TRAVIS_GITHUB_TOKEN }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
AUTOMATION_CLIENT_ID: ${{ secrets.AUTOMATION_CLIENT_ID }}
AUTOMATION_CLIENT_INSTALLATION: ${{ secrets.AUTOMATION_CLIENT_INSTALLATION }}
AUTOMATION_CLIENT_SECRET: ${{ secrets.AUTOMATION_CLIENT_SECRET }}
regression-experience-setup2:
name: "PHP 8.0/Node 18/MySQL/Compatibility layer/Elastic"
uses: ibexa/gh-workflows/.github/workflows/browser-tests.yml@main
with:
project-edition: "experience"
project-version: ${{ github.event.inputs.project-version }}
test-suite: "--profile=regression --suite=experience"
test-setup-phase-1: "--profile=regression --suite=setup-experience --tags=~@part2 --mode=standard"
test-setup-phase-2: "--profile=regression --suite=setup-experience --tags=@part2 --mode=standard"
setup: "doc/docker/base-dev.yml:doc/docker/elastic.yml:doc/docker/selenium.yml"
send-success-notification: ${{ github.event.inputs.send-success-notification != 'false' }}
use-compatibility-layer: true
job-count: 4
timeout: 120
php-image: "ghcr.io/ibexa/docker/php:8.0-node18"
secrets:
SATIS_NETWORK_KEY: ${{ secrets.SATIS_NETWORK_KEY }}
SATIS_NETWORK_TOKEN: ${{ secrets.SATIS_NETWORK_TOKEN }}
TRAVIS_GITHUB_TOKEN: ${{ secrets.TRAVIS_GITHUB_TOKEN }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
AUTOMATION_CLIENT_ID: ${{ secrets.AUTOMATION_CLIENT_ID }}
AUTOMATION_CLIENT_INSTALLATION: ${{ secrets.AUTOMATION_CLIENT_INSTALLATION }}
AUTOMATION_CLIENT_SECRET: ${{ secrets.AUTOMATION_CLIENT_SECRET }}
regression-experience-setup3:
name: "PHP 8.3/Node 18/MySQL/Compatibility layer/Solr"
uses: ibexa/gh-workflows/.github/workflows/browser-tests.yml@main
with:
project-edition: "experience"
project-version: ${{ github.event.inputs.project-version }}
test-suite: "--profile=regression --suite=experience"
test-setup-phase-1: "--profile=regression --suite=setup-experience --tags=~@part2 --mode=standard"
test-setup-phase-2: "--profile=regression --suite=setup-experience --tags=@part2 --mode=standard"
setup: "doc/docker/base-dev.yml:doc/docker/solr.yml:doc/docker/selenium.yml"
send-success-notification: ${{ github.event.inputs.send-success-notification != 'false' }}
use-compatibility-layer: true
job-count: 4
timeout: 120
php-image: "ghcr.io/ibexa/docker/php:8.3-node18"
secrets:
SATIS_NETWORK_KEY: ${{ secrets.SATIS_NETWORK_KEY }}
SATIS_NETWORK_TOKEN: ${{ secrets.SATIS_NETWORK_TOKEN }}
TRAVIS_GITHUB_TOKEN: ${{ secrets.TRAVIS_GITHUB_TOKEN }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
AUTOMATION_CLIENT_ID: ${{ secrets.AUTOMATION_CLIENT_ID }}
AUTOMATION_CLIENT_INSTALLATION: ${{ secrets.AUTOMATION_CLIENT_INSTALLATION }}
AUTOMATION_CLIENT_SECRET: ${{ secrets.AUTOMATION_CLIENT_SECRET }}
page-builder-matchers-1:
name: "Map\\Host matcher tests"
uses: ibexa/gh-workflows/.github/workflows/browser-tests.yml@main
with:
project-edition: "experience"
project-version: ${{ github.event.inputs.project-version }}
test-suite: "--profile=browser --suite=page-builder"
test-setup-phase-1: "--mode=standard --profile=setup --suite=MapHost"
test-setup-phase-2: '--mode=standard --profile=setup --suite=page-builder --tags=@setup'
setup: "doc/docker/base-dev.yml:doc/docker/multihost.yml:doc/docker/selenium.yml"
send-success-notification: ${{ github.event.inputs.send-success-notification != 'false' }}
secrets:
SATIS_NETWORK_KEY: ${{ secrets.SATIS_NETWORK_KEY }}
SATIS_NETWORK_TOKEN: ${{ secrets.SATIS_NETWORK_TOKEN }}
TRAVIS_GITHUB_TOKEN: ${{ secrets.TRAVIS_GITHUB_TOKEN }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
AUTOMATION_CLIENT_ID: ${{ secrets.AUTOMATION_CLIENT_ID }}
AUTOMATION_CLIENT_INSTALLATION: ${{ secrets.AUTOMATION_CLIENT_INSTALLATION }}
AUTOMATION_CLIENT_SECRET: ${{ secrets.AUTOMATION_CLIENT_SECRET }}
page-builder-matchers-2:
name: "Map\\URI matcher tests"
uses: ibexa/gh-workflows/.github/workflows/browser-tests.yml@main
with:
project-edition: "experience"
project-version: ${{ github.event.inputs.project-version }}
test-suite: "--profile=browser --suite=page-builder"
test-setup-phase-1: "--mode=standard --profile=setup --suite=MapURI"
test-setup-phase-2: '--mode=standard --profile=setup --suite=page-builder --tags=@setup'
send-success-notification: ${{ github.event.inputs.send-success-notification != 'false' }}
secrets:
SATIS_NETWORK_KEY: ${{ secrets.SATIS_NETWORK_KEY }}
SATIS_NETWORK_TOKEN: ${{ secrets.SATIS_NETWORK_TOKEN }}
TRAVIS_GITHUB_TOKEN: ${{ secrets.TRAVIS_GITHUB_TOKEN }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
AUTOMATION_CLIENT_ID: ${{ secrets.AUTOMATION_CLIENT_ID }}
AUTOMATION_CLIENT_INSTALLATION: ${{ secrets.AUTOMATION_CLIENT_INSTALLATION }}
AUTOMATION_CLIENT_SECRET: ${{ secrets.AUTOMATION_CLIENT_SECRET }}
page-builder-matchers-3:
name: "URIElement matcher tests"
uses: ibexa/gh-workflows/.github/workflows/browser-tests.yml@main
with:
project-edition: "experience"
project-version: ${{ github.event.inputs.project-version }}
test-suite: "--profile=browser --suite=page-builder"
test-setup-phase-1: "--mode=standard --profile=setup --suite=URIElement"
test-setup-phase-2: '--mode=standard --profile=setup --suite=page-builder --tags=@setup'
send-success-notification: ${{ github.event.inputs.send-success-notification != 'false' }}
secrets:
SATIS_NETWORK_KEY: ${{ secrets.SATIS_NETWORK_KEY }}
SATIS_NETWORK_TOKEN: ${{ secrets.SATIS_NETWORK_TOKEN }}
TRAVIS_GITHUB_TOKEN: ${{ secrets.TRAVIS_GITHUB_TOKEN }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
AUTOMATION_CLIENT_ID: ${{ secrets.AUTOMATION_CLIENT_ID }}
AUTOMATION_CLIENT_INSTALLATION: ${{ secrets.AUTOMATION_CLIENT_INSTALLATION }}
AUTOMATION_CLIENT_SECRET: ${{ secrets.AUTOMATION_CLIENT_SECRET }}
page-builder-matchers-4:
name: "Compound matcher tests"
uses: ibexa/gh-workflows/.github/workflows/browser-tests.yml@main
with:
project-edition: "experience"
project-version: ${{ github.event.inputs.project-version }}
test-suite: "--profile=browser --suite=page-builder"
test-setup-phase-1: "--mode=standard --profile=setup --suite=CompoundMapURIMapHost"
test-setup-phase-2: '--mode=standard --profile=setup --suite=page-builder --tags=@setup'
setup: "doc/docker/base-dev.yml:doc/docker/multihost.yml:doc/docker/selenium.yml"
send-success-notification: ${{ github.event.inputs.send-success-notification != 'false' }}
secrets:
SATIS_NETWORK_KEY: ${{ secrets.SATIS_NETWORK_KEY }}
SATIS_NETWORK_TOKEN: ${{ secrets.SATIS_NETWORK_TOKEN }}
TRAVIS_GITHUB_TOKEN: ${{ secrets.TRAVIS_GITHUB_TOKEN }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
AUTOMATION_CLIENT_ID: ${{ secrets.AUTOMATION_CLIENT_ID }}
AUTOMATION_CLIENT_INSTALLATION: ${{ secrets.AUTOMATION_CLIENT_INSTALLATION }}
AUTOMATION_CLIENT_SECRET: ${{ secrets.AUTOMATION_CLIENT_SECRET }}