From be134eada43678f49fb41b2b1224ab85c4073636 Mon Sep 17 00:00:00 2001 From: adrianpawlak Date: Wed, 27 May 2026 12:53:25 +0200 Subject: [PATCH 1/6] IBX-11740: Added playwright-tests.yml --- .github/workflows/playwright-tests.yml | 60 ++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 .github/workflows/playwright-tests.yml diff --git a/.github/workflows/playwright-tests.yml b/.github/workflows/playwright-tests.yml new file mode 100644 index 00000000..e564c322 --- /dev/null +++ b/.github/workflows/playwright-tests.yml @@ -0,0 +1,60 @@ +name: Playwright 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: + playwright-commerce-setup1: + name: "PHP 8.3/Node 22/PostgreSQL 18.0/Varnish/Redis 7.2" + uses: ibexa/gh-workflows/.github/workflows/playwright-browser-tests.yml@ibx-11740-playwright + with: + project-edition: "commerce" + project-version: ${{ github.event.inputs.project-version }} + test-suite: "--project=commerce" + setup: "doc/docker/base-dev.yml:doc/docker/db-postgresql18.yml:doc/docker/varnish.yml:doc/docker/redis7.2.yml" + send-success-notification: ${{ github.event.inputs.send-success-notification != 'false' }} + php-image: "ghcr.io/ibexa/docker/php:8.3-node22" + timeout: 60 + secrets: inherit + + playwright-commerce-setup2: + name: "PHP 8.4/Node 22/MariaDB 11.4/Elastic 8/Valkey latest" + uses: ibexa/gh-workflows/.github/workflows/playwright-browser-tests.yml@ibx-11740-playwright + with: + project-edition: "commerce" + project-version: ${{ github.event.inputs.project-version }} + test-suite: "--project=commerce" + setup: "doc/docker/base-dev.yml:doc/docker/db-mariadb11.4.yml:doc/docker/elastic8.yml:doc/docker/valkey-latest.yml" + send-success-notification: ${{ github.event.inputs.send-success-notification != 'false' }} + php-image: "ghcr.io/ibexa/docker/php:8.4-node22" + timeout: 60 + secrets: inherit + + playwright-commerce-setup3: + name: "PHP 8.4/Node 22/MySQL 8.4/Solr 8/Redis latest" + uses: ibexa/gh-workflows/.github/workflows/playwright-browser-tests.yml@ibx-11740-playwright + with: + project-edition: "commerce" + project-version: ${{ github.event.inputs.project-version }} + test-suite: "--project=commerce" + setup: "doc/docker/base-dev.yml:doc/docker/db-mysql8.4.yml:doc/docker/solr8.yml:doc/docker/redis-latest.yml" + send-success-notification: ${{ github.event.inputs.send-success-notification != 'false' }} + php-image: "ghcr.io/ibexa/docker/php:8.4-node22" + timeout: 60 + secrets: inherit From e40c17a0e4e6267b042daad369ecf3bfbf4e4e44 Mon Sep 17 00:00:00 2001 From: adrianpawlak Date: Thu, 28 May 2026 11:01:30 +0200 Subject: [PATCH 2/6] IBX-11740: Added dependencies.json --- dependencies.json | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 dependencies.json diff --git a/dependencies.json b/dependencies.json new file mode 100644 index 00000000..2b48be70 --- /dev/null +++ b/dependencies.json @@ -0,0 +1,23 @@ +{ + "recipesEndpoint": "", + "packages": [ + { + "requirement": "dev-playwright-ts-setup as 5.0.x-dev", + "repositoryUrl": "https://github.com/ibexa/admin-ui", + "package": "ibexa/admin-ui", + "shouldBeAddedAsVCS": true + }, + { + "requirement": "dev-playwright-ts-setup as 5.0.x-dev", + "repositoryUrl": "https://github.com/ibexa/activity-log", + "package": "ibexa/activity-log", + "shouldBeAddedAsVCS": true + }, + { + "requirement": "dev-playwright-ts-setup as 5.0.x-dev", + "repositoryUrl": "https://github.com/ibexa/version-comparison", + "package": "ibexa/version-comparison", + "shouldBeAddedAsVCS": true + } + ] +} From 8ccd91d15ec3a22faceec710494b498abef4e26b Mon Sep 17 00:00:00 2001 From: adrianpawlak Date: Thu, 28 May 2026 14:27:27 +0200 Subject: [PATCH 3/6] IBX-11740: Refactored workflows --- .github/workflows/playwright-tests.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/playwright-tests.yml b/.github/workflows/playwright-tests.yml index e564c322..4cc2e98b 100644 --- a/.github/workflows/playwright-tests.yml +++ b/.github/workflows/playwright-tests.yml @@ -26,7 +26,7 @@ jobs: with: project-edition: "commerce" project-version: ${{ github.event.inputs.project-version }} - test-suite: "--project=commerce" + test-suite: "--project=commerce --grep @IbexaCommerce" setup: "doc/docker/base-dev.yml:doc/docker/db-postgresql18.yml:doc/docker/varnish.yml:doc/docker/redis7.2.yml" send-success-notification: ${{ github.event.inputs.send-success-notification != 'false' }} php-image: "ghcr.io/ibexa/docker/php:8.3-node22" @@ -39,7 +39,7 @@ jobs: with: project-edition: "commerce" project-version: ${{ github.event.inputs.project-version }} - test-suite: "--project=commerce" + test-suite: "--project=commerce --grep @IbexaCommerce" setup: "doc/docker/base-dev.yml:doc/docker/db-mariadb11.4.yml:doc/docker/elastic8.yml:doc/docker/valkey-latest.yml" send-success-notification: ${{ github.event.inputs.send-success-notification != 'false' }} php-image: "ghcr.io/ibexa/docker/php:8.4-node22" @@ -52,7 +52,7 @@ jobs: with: project-edition: "commerce" project-version: ${{ github.event.inputs.project-version }} - test-suite: "--project=commerce" + test-suite: "--project=commerce --grep @IbexaCommerce" setup: "doc/docker/base-dev.yml:doc/docker/db-mysql8.4.yml:doc/docker/solr8.yml:doc/docker/redis-latest.yml" send-success-notification: ${{ github.event.inputs.send-success-notification != 'false' }} php-image: "ghcr.io/ibexa/docker/php:8.4-node22" From 2ea40e0b5132589db851e2c7542d43acee055561 Mon Sep 17 00:00:00 2001 From: adrianpawlak Date: Fri, 17 Jul 2026 15:35:40 +0200 Subject: [PATCH 4/6] IBX-11740: Adjustments for new PW configuration --- .github/workflows/playwright-tests.yml | 22 +++++++++++++--------- dependencies.json | 8 +------- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/.github/workflows/playwright-tests.yml b/.github/workflows/playwright-tests.yml index 4cc2e98b..62e1730d 100644 --- a/.github/workflows/playwright-tests.yml +++ b/.github/workflows/playwright-tests.yml @@ -19,16 +19,22 @@ on: - "[0-9]+.[0-9]+" pull_request: ~ +# Edition mode: no test-package input, so the run executes the Playwright tests of +# every package that ships them, for the commerce edition. Edition/tag filtering is +# handled by cohesivo-playwright's config (via APP_EDITION) — do not pass test-suite +# with --project/--grep here, it would only duplicate that convention. jobs: playwright-commerce-setup1: name: "PHP 8.3/Node 22/PostgreSQL 18.0/Varnish/Redis 7.2" uses: ibexa/gh-workflows/.github/workflows/playwright-browser-tests.yml@ibx-11740-playwright with: project-edition: "commerce" - project-version: ${{ github.event.inputs.project-version }} - test-suite: "--project=commerce --grep @IbexaCommerce" + project-version: ${{ inputs.project-version }} + # TODO: verify on the first run that localhost:8080 is served by Varnish + # (check X-Varnish/Via response headers). Playwright runs on the runner host — + # if Varnish publishes a different host port, set app-url to it explicitly. setup: "doc/docker/base-dev.yml:doc/docker/db-postgresql18.yml:doc/docker/varnish.yml:doc/docker/redis7.2.yml" - send-success-notification: ${{ github.event.inputs.send-success-notification != 'false' }} + send-success-notification: ${{ github.event_name != 'workflow_dispatch' || inputs.send-success-notification }} php-image: "ghcr.io/ibexa/docker/php:8.3-node22" timeout: 60 secrets: inherit @@ -38,10 +44,9 @@ jobs: uses: ibexa/gh-workflows/.github/workflows/playwright-browser-tests.yml@ibx-11740-playwright with: project-edition: "commerce" - project-version: ${{ github.event.inputs.project-version }} - test-suite: "--project=commerce --grep @IbexaCommerce" + project-version: ${{ inputs.project-version }} setup: "doc/docker/base-dev.yml:doc/docker/db-mariadb11.4.yml:doc/docker/elastic8.yml:doc/docker/valkey-latest.yml" - send-success-notification: ${{ github.event.inputs.send-success-notification != 'false' }} + send-success-notification: ${{ github.event_name != 'workflow_dispatch' || inputs.send-success-notification }} php-image: "ghcr.io/ibexa/docker/php:8.4-node22" timeout: 60 secrets: inherit @@ -51,10 +56,9 @@ jobs: uses: ibexa/gh-workflows/.github/workflows/playwright-browser-tests.yml@ibx-11740-playwright with: project-edition: "commerce" - project-version: ${{ github.event.inputs.project-version }} - test-suite: "--project=commerce --grep @IbexaCommerce" + project-version: ${{ inputs.project-version }} setup: "doc/docker/base-dev.yml:doc/docker/db-mysql8.4.yml:doc/docker/solr8.yml:doc/docker/redis-latest.yml" - send-success-notification: ${{ github.event.inputs.send-success-notification != 'false' }} + send-success-notification: ${{ github.event_name != 'workflow_dispatch' || inputs.send-success-notification }} php-image: "ghcr.io/ibexa/docker/php:8.4-node22" timeout: 60 secrets: inherit diff --git a/dependencies.json b/dependencies.json index 2b48be70..7e5f197c 100644 --- a/dependencies.json +++ b/dependencies.json @@ -2,17 +2,11 @@ "recipesEndpoint": "", "packages": [ { - "requirement": "dev-playwright-ts-setup as 5.0.x-dev", + "requirement": "dev-ibx-11739 as 5.0.x-dev", "repositoryUrl": "https://github.com/ibexa/admin-ui", "package": "ibexa/admin-ui", "shouldBeAddedAsVCS": true }, - { - "requirement": "dev-playwright-ts-setup as 5.0.x-dev", - "repositoryUrl": "https://github.com/ibexa/activity-log", - "package": "ibexa/activity-log", - "shouldBeAddedAsVCS": true - }, { "requirement": "dev-playwright-ts-setup as 5.0.x-dev", "repositoryUrl": "https://github.com/ibexa/version-comparison", From 6f9ef008d39abc8ab3b8dfce5750e70fcda629a7 Mon Sep 17 00:00:00 2001 From: adrianpawlak Date: Tue, 4 Aug 2026 13:26:47 +0200 Subject: [PATCH 5/6] IBX-11740: Removed branch master from config yaml --- .github/workflows/browser-tests.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/browser-tests.yml b/.github/workflows/browser-tests.yml index 279773ef..87940810 100644 --- a/.github/workflows/browser-tests.yml +++ b/.github/workflows/browser-tests.yml @@ -14,7 +14,6 @@ on: default: '' push: branches: - - master - "[0-9]+.[0-9]+" pull_request: ~ From 7642f5ff1a3a536b16177b1b7b7a492d023a1a89 Mon Sep 17 00:00:00 2001 From: adrianpawlak Date: Thu, 10 Sep 2026 12:17:17 +0200 Subject: [PATCH 6/6] Removed todo (varnish) --- .github/workflows/playwright-tests.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/playwright-tests.yml b/.github/workflows/playwright-tests.yml index 62e1730d..a93c41ea 100644 --- a/.github/workflows/playwright-tests.yml +++ b/.github/workflows/playwright-tests.yml @@ -30,9 +30,6 @@ jobs: with: project-edition: "commerce" project-version: ${{ inputs.project-version }} - # TODO: verify on the first run that localhost:8080 is served by Varnish - # (check X-Varnish/Via response headers). Playwright runs on the runner host — - # if Varnish publishes a different host port, set app-url to it explicitly. setup: "doc/docker/base-dev.yml:doc/docker/db-postgresql18.yml:doc/docker/varnish.yml:doc/docker/redis7.2.yml" send-success-notification: ${{ github.event_name != 'workflow_dispatch' || inputs.send-success-notification }} php-image: "ghcr.io/ibexa/docker/php:8.3-node22"