From 9cc86b42bcc5d6aeedb14ca7bed517c1cb00d313 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Fri, 24 Apr 2026 13:42:07 +0200 Subject: [PATCH 1/5] feat(playwright): add plugin-path input to e2e-version action Wires the plugin-path input through ci.yml, cd.yml, playwright.yml and playwright-docker.yml for testing against grafana/plugin-actions#212 (feat/plugin-path-input, pinned to c81db32). This is a test branch - not for merging until plugin-actions PR #212 is released. --- .github/workflows/cd.yml | 5 +++++ .github/workflows/ci.yml | 6 ++++++ .github/workflows/playwright-docker.yml | 7 ++++++- .github/workflows/playwright.yml | 7 ++++++- 4 files changed, 23 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 88c43e850..530515283 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -114,6 +114,10 @@ on: description: "Optionally, use this input to pass a semver range of supported Grafana versions to test against. This is only used when version-resolver-type is plugin-grafana-dependency. If not provided, the action will try to read grafanaDependency from the plugin.json file." type: string required: false + run-playwright-with-plugin-path: + description: Path to the plugin root directory containing src/plugin.json. Only used when version-resolver-type is plugin-grafana-dependency and grafana-dependency is not set. + type: string + required: false run-playwright-with-skip-grafana-dev-image: description: "Optionally, you can skip the Grafana dev image" type: boolean @@ -613,6 +617,7 @@ jobs: run-playwright: ${{ inputs.run-playwright }} run-playwright-docker: ${{ inputs.run-playwright-docker }} run-playwright-with-grafana-dependency: ${{ inputs.run-playwright-with-grafana-dependency }} + run-playwright-with-plugin-path: ${{ inputs.run-playwright-with-plugin-path }} run-playwright-with-skip-grafana-dev-image: ${{ inputs.run-playwright-with-skip-grafana-dev-image }} run-playwright-with-skip-grafana-react-19-preview-image: ${{ inputs.run-playwright-with-skip-grafana-react-19-preview-image }} run-playwright-with-version-resolver-type: ${{ inputs.run-playwright-with-version-resolver-type }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4eeebc100..385269f57 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,6 +91,10 @@ on: If not provided, the action will try to read grafanaDependency from the plugin.json file. type: string required: false + run-playwright-with-plugin-path: + description: Path to the plugin root directory containing src/plugin.json. Only used when version-resolver-type is plugin-grafana-dependency and grafana-dependency is not set. + type: string + required: false run-playwright-with-skip-grafana-dev-image: description: Optionally, you can skip the Grafana dev image type: boolean @@ -689,6 +693,7 @@ jobs: version: ${{ fromJSON(needs.test-and-build.outputs.plugin).version}} plugin-directory: ${{ inputs.plugin-directory }} grafana-dependency: ${{ inputs.run-playwright-with-grafana-dependency }} + plugin-path: ${{ inputs.run-playwright-with-plugin-path }} skip-grafana-dev-image: ${{ inputs.run-playwright-with-skip-grafana-dev-image }} skip-grafana-react-19-preview-image: ${{ inputs.run-playwright-with-skip-grafana-react-19-preview-image }} version-resolver-type: ${{ inputs.run-playwright-with-version-resolver-type }} @@ -711,6 +716,7 @@ jobs: id: ${{ fromJSON(needs.test-and-build.outputs.plugin).id}} version: ${{ fromJSON(needs.test-and-build.outputs.plugin).version}} grafana-dependency: ${{ inputs.run-playwright-with-grafana-dependency }} + plugin-path: ${{ inputs.run-playwright-with-plugin-path }} skip-grafana-dev-image: ${{ inputs.run-playwright-with-skip-grafana-dev-image }} skip-grafana-react-19-preview-image: ${{ inputs.run-playwright-with-skip-grafana-react-19-preview-image }} version-resolver-type: ${{ inputs.run-playwright-with-version-resolver-type }} diff --git a/.github/workflows/playwright-docker.yml b/.github/workflows/playwright-docker.yml index 9422bbc76..b7cc9effa 100644 --- a/.github/workflows/playwright-docker.yml +++ b/.github/workflows/playwright-docker.yml @@ -33,6 +33,10 @@ on: grafana-dependency: required: false type: string + plugin-path: + required: false + type: string + description: Path to the plugin root directory containing src/plugin.json. Only used when version-resolver-type is plugin-grafana-dependency and grafana-dependency is not set. upload-artifacts: required: false type: boolean @@ -75,12 +79,13 @@ jobs: - name: Resolve Grafana E2E versions id: resolve-versions - uses: grafana/plugin-actions/e2e-version@e2e-version/v1.2.1 + uses: grafana/plugin-actions/e2e-version@c81db32e08b8b880fc68f758eb60c29673878150 # feat/plugin-path-input (grafana/plugin-actions#212) with: skip-grafana-dev-image: ${{ inputs.skip-grafana-dev-image }} skip-grafana-react-19-preview-image: ${{ inputs.skip-grafana-react-19-preview-image }} version-resolver-type: ${{ inputs.version-resolver-type }} grafana-dependency: ${{ inputs.grafana-dependency }} + plugin-path: ${{ inputs.plugin-path }} playwright-tests: needs: resolve-versions diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index f3d87b281..a9b101ede 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -36,6 +36,10 @@ on: grafana-dependency: required: false type: string + plugin-path: + required: false + type: string + description: Path to the plugin root directory containing src/plugin.json. Only used when version-resolver-type is plugin-grafana-dependency and grafana-dependency is not set. upload-artifacts: required: false type: boolean @@ -93,12 +97,13 @@ jobs: - name: Resolve Grafana E2E versions id: resolve-versions - uses: grafana/plugin-actions/e2e-version@e2e-version/v1.2.1 + uses: grafana/plugin-actions/e2e-version@c81db32e08b8b880fc68f758eb60c29673878150 # feat/plugin-path-input (grafana/plugin-actions#212) with: skip-grafana-dev-image: ${{ inputs.skip-grafana-dev-image }} skip-grafana-react-19-preview-image: ${{ inputs.skip-grafana-react-19-preview-image }} version-resolver-type: ${{ inputs.version-resolver-type }} grafana-dependency: ${{ inputs.grafana-dependency }} + plugin-path: ${{ inputs.plugin-path }} playwright-tests: needs: resolve-versions From a6525ae53890d90056759a3526449afb2f95e125 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Fri, 24 Apr 2026 13:52:39 +0200 Subject: [PATCH 2/5] fix: point internal playwright references to branch for testing --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 385269f57..574bc65cb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -684,7 +684,7 @@ jobs: playwright: name: Playwright E2E tests - uses: grafana/plugin-ci-workflows/.github/workflows/playwright.yml@ci-cd-workflows/v6.1.1 + uses: grafana/plugin-ci-workflows/.github/workflows/playwright.yml@feat/e2e-version-plugin-path if: ${{ inputs.run-playwright == true }} needs: - test-and-build @@ -708,7 +708,7 @@ jobs: playwright-docker: name: Plugins - Dockerized Playwright E2E tests - uses: grafana/plugin-ci-workflows/.github/workflows/playwright-docker.yml@ci-cd-workflows/v6.1.1 + uses: grafana/plugin-ci-workflows/.github/workflows/playwright-docker.yml@feat/e2e-version-plugin-path if: ${{ inputs.run-playwright-docker == true }} needs: - test-and-build From c84970d0ac0d900ca4005d68f9195d3991d79f22 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Mon, 27 Apr 2026 08:16:25 +0200 Subject: [PATCH 3/5] feat(playwright): rename plugin-path to plugin-directory in e2e-version input --- .github/workflows/cd.yml | 7 ++----- .github/workflows/ci.yml | 8 ++------ .github/workflows/playwright-docker.yml | 4 ++-- .github/workflows/playwright.yml | 6 +----- 4 files changed, 7 insertions(+), 18 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 530515283..308314d6e 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -114,10 +114,7 @@ on: description: "Optionally, use this input to pass a semver range of supported Grafana versions to test against. This is only used when version-resolver-type is plugin-grafana-dependency. If not provided, the action will try to read grafanaDependency from the plugin.json file." type: string required: false - run-playwright-with-plugin-path: - description: Path to the plugin root directory containing src/plugin.json. Only used when version-resolver-type is plugin-grafana-dependency and grafana-dependency is not set. - type: string - required: false + run-playwright-with-skip-grafana-dev-image: description: "Optionally, you can skip the Grafana dev image" type: boolean @@ -617,7 +614,7 @@ jobs: run-playwright: ${{ inputs.run-playwright }} run-playwright-docker: ${{ inputs.run-playwright-docker }} run-playwright-with-grafana-dependency: ${{ inputs.run-playwright-with-grafana-dependency }} - run-playwright-with-plugin-path: ${{ inputs.run-playwright-with-plugin-path }} + run-playwright-with-skip-grafana-dev-image: ${{ inputs.run-playwright-with-skip-grafana-dev-image }} run-playwright-with-skip-grafana-react-19-preview-image: ${{ inputs.run-playwright-with-skip-grafana-react-19-preview-image }} run-playwright-with-version-resolver-type: ${{ inputs.run-playwright-with-version-resolver-type }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 574bc65cb..6dd4b9c70 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,10 +91,7 @@ on: If not provided, the action will try to read grafanaDependency from the plugin.json file. type: string required: false - run-playwright-with-plugin-path: - description: Path to the plugin root directory containing src/plugin.json. Only used when version-resolver-type is plugin-grafana-dependency and grafana-dependency is not set. - type: string - required: false + run-playwright-with-skip-grafana-dev-image: description: Optionally, you can skip the Grafana dev image type: boolean @@ -693,7 +690,6 @@ jobs: version: ${{ fromJSON(needs.test-and-build.outputs.plugin).version}} plugin-directory: ${{ inputs.plugin-directory }} grafana-dependency: ${{ inputs.run-playwright-with-grafana-dependency }} - plugin-path: ${{ inputs.run-playwright-with-plugin-path }} skip-grafana-dev-image: ${{ inputs.run-playwright-with-skip-grafana-dev-image }} skip-grafana-react-19-preview-image: ${{ inputs.run-playwright-with-skip-grafana-react-19-preview-image }} version-resolver-type: ${{ inputs.run-playwright-with-version-resolver-type }} @@ -716,7 +712,7 @@ jobs: id: ${{ fromJSON(needs.test-and-build.outputs.plugin).id}} version: ${{ fromJSON(needs.test-and-build.outputs.plugin).version}} grafana-dependency: ${{ inputs.run-playwright-with-grafana-dependency }} - plugin-path: ${{ inputs.run-playwright-with-plugin-path }} + plugin-directory: ${{ inputs.plugin-directory }} skip-grafana-dev-image: ${{ inputs.run-playwright-with-skip-grafana-dev-image }} skip-grafana-react-19-preview-image: ${{ inputs.run-playwright-with-skip-grafana-react-19-preview-image }} version-resolver-type: ${{ inputs.run-playwright-with-version-resolver-type }} diff --git a/.github/workflows/playwright-docker.yml b/.github/workflows/playwright-docker.yml index b7cc9effa..1694d0946 100644 --- a/.github/workflows/playwright-docker.yml +++ b/.github/workflows/playwright-docker.yml @@ -33,7 +33,7 @@ on: grafana-dependency: required: false type: string - plugin-path: + plugin-directory: required: false type: string description: Path to the plugin root directory containing src/plugin.json. Only used when version-resolver-type is plugin-grafana-dependency and grafana-dependency is not set. @@ -85,7 +85,7 @@ jobs: skip-grafana-react-19-preview-image: ${{ inputs.skip-grafana-react-19-preview-image }} version-resolver-type: ${{ inputs.version-resolver-type }} grafana-dependency: ${{ inputs.grafana-dependency }} - plugin-path: ${{ inputs.plugin-path }} + plugin-directory: ${{ inputs.plugin-directory }} playwright-tests: needs: resolve-versions diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index a9b101ede..fa0503ffc 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -36,10 +36,6 @@ on: grafana-dependency: required: false type: string - plugin-path: - required: false - type: string - description: Path to the plugin root directory containing src/plugin.json. Only used when version-resolver-type is plugin-grafana-dependency and grafana-dependency is not set. upload-artifacts: required: false type: boolean @@ -103,7 +99,7 @@ jobs: skip-grafana-react-19-preview-image: ${{ inputs.skip-grafana-react-19-preview-image }} version-resolver-type: ${{ inputs.version-resolver-type }} grafana-dependency: ${{ inputs.grafana-dependency }} - plugin-path: ${{ inputs.plugin-path }} + plugin-directory: ${{ inputs.plugin-directory }} playwright-tests: needs: resolve-versions From ac8994b46120bba6dd1c8b385843989c3b26fabc Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Mon, 27 Apr 2026 08:18:08 +0200 Subject: [PATCH 4/5] chore: remove stray blank lines in cd.yml --- .github/workflows/cd.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 308314d6e..88c43e850 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -114,7 +114,6 @@ on: description: "Optionally, use this input to pass a semver range of supported Grafana versions to test against. This is only used when version-resolver-type is plugin-grafana-dependency. If not provided, the action will try to read grafanaDependency from the plugin.json file." type: string required: false - run-playwright-with-skip-grafana-dev-image: description: "Optionally, you can skip the Grafana dev image" type: boolean @@ -614,7 +613,6 @@ jobs: run-playwright: ${{ inputs.run-playwright }} run-playwright-docker: ${{ inputs.run-playwright-docker }} run-playwright-with-grafana-dependency: ${{ inputs.run-playwright-with-grafana-dependency }} - run-playwright-with-skip-grafana-dev-image: ${{ inputs.run-playwright-with-skip-grafana-dev-image }} run-playwright-with-skip-grafana-react-19-preview-image: ${{ inputs.run-playwright-with-skip-grafana-react-19-preview-image }} run-playwright-with-version-resolver-type: ${{ inputs.run-playwright-with-version-resolver-type }} From 79fc878de523924275d8a069bcca915d49f466d2 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Mon, 27 Apr 2026 08:18:27 +0200 Subject: [PATCH 5/5] chore: remove stray blank line in ci.yml --- .github/workflows/ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6dd4b9c70..8a9997e8d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,7 +91,6 @@ on: If not provided, the action will try to read grafanaDependency from the plugin.json file. type: string required: false - run-playwright-with-skip-grafana-dev-image: description: Optionally, you can skip the Grafana dev image type: boolean