Skip to content

[scout] support example plugins#259170

Merged
dmlemeshko merged 8 commits intoelastic:mainfrom
dmlemeshko:scout/support-examples
Mar 27, 2026
Merged

[scout] support example plugins#259170
dmlemeshko merged 8 commits intoelastic:mainfrom
dmlemeshko:scout/support-examples

Conversation

@dmlemeshko
Copy link
Copy Markdown
Contributor

@dmlemeshko dmlemeshko commented Mar 23, 2026

Summary

Closes https://github.com/elastic/appex-qa-team/issues/708

Adds Scout support for plugins located in /examples, in particular:

  • scout playwright config discovery
  • stateful shared config to use for all plugins (saves CI runtime by avoiding restarts)
  • registration in scout_ci_config.yml for CI run

Code change:

loadScoutManifestFile reads the Scout .meta/*.json next to a Playwright config (test ids, tags, etc.), or returns a placeholder when that file is not present so fromPath still works. It was extracted so both the regular plugin/package path parsing and the new examples/ path parsing share the same manifest-loading logic instead of duplicating it.

@dmlemeshko dmlemeshko requested review from dolaru and tsullivan March 23, 2026 16:46
@dmlemeshko dmlemeshko added release_note:skip Skip the PR/issue when compiling release notes backport:all-open Backport to all branches that could still receive a release labels Mar 23, 2026
@dmlemeshko dmlemeshko marked this pull request as ready for review March 24, 2026 07:23
@dmlemeshko dmlemeshko requested review from a team as code owners March 24, 2026 07:23
@dmlemeshko dmlemeshko requested a review from Dosant March 24, 2026 09:31
@dmlemeshko dmlemeshko requested a review from a team as a code owner March 26, 2026 15:39
Comment on lines +6 to +7
"group": "platform",
"visibility": "private",
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

adding missing properties, Scout parser will throw error if scout dir would be added for this plugin

type: string;
group: string;
owner: string[];
owner: string | string[];
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

examples plugins use string format

@dmlemeshko dmlemeshko requested a review from steliosmavro March 26, 2026 15:42
@dmlemeshko
Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 26, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@dmlemeshko
Copy link
Copy Markdown
Contributor Author

@macroscopeapp review

@dmlemeshko
Copy link
Copy Markdown
Contributor Author

@macroscope-app review

@macroscopeapp
Copy link
Copy Markdown
Contributor

macroscopeapp bot commented Mar 26, 2026

Review triggered! Results will be posted as check runs on this PR.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 26, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 26, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: aa33a16c-5398-4f6c-8413-c3da17508236

📥 Commits

Reviewing files that changed from the base of the PR and between 8775e42 and a8acd3d.

📒 Files selected for processing (11)
  • examples/flyout_system/kibana.jsonc
  • examples/flyout_system/moon.yml
  • packages/kbn-eslint-plugin-eslint/rules/scout_no_cross_boundary_imports.js
  • src/platform/packages/private/kbn-scout-info/src/paths.test.ts
  • src/platform/packages/private/kbn-scout-info/src/paths.ts
  • src/platform/packages/private/kbn-scout-reporting/src/helpers/read_manifest.test.ts
  • src/platform/packages/private/kbn-scout-reporting/src/helpers/read_manifest.ts
  • src/platform/packages/private/kbn-scout-reporting/src/registry/test_config.test.ts
  • src/platform/packages/private/kbn-scout-reporting/src/registry/test_config.ts
  • src/platform/packages/shared/kbn-scout/src/servers/configs/config_sets/examples/shared.ts
  • src/platform/packages/shared/kbn-scout/src/servers/configs/config_sets/examples/stateful/classic.stateful.config.ts

📝 Walkthrough

Walkthrough

This change extends Scout testing framework support to cover example plugins located in examples/ and x-pack/examples/ directories. It introduces new path matching utilities to distinguish example plugin scout configurations, refactors module metadata resolution to load plugin identity from kibana.jsonc files for example plugins, and adds normalized handling of the owner manifest field as either a string or array. New Scout server configurations and helper functions are added to generate server arguments for example plugin testing. The examples/flyout_system plugin is updated with platform group metadata and visibility settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • 🛠️ Update Documentation: Commit on current branch
  • 🛠️ Update Documentation: Create PR

Warning

Tools execution failed with the following error:

Failed to run tools: 13 INTERNAL: Received RST_STREAM with code 2 (Internal server error)


Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 26, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 26, 2026

Caution

Review failed

The head commit changed during the review from 9f251e0 to a8acd3d.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • 🛠️ Update Documentation: Commit on current branch
  • 🛠️ Update Documentation: Create PR

Warning

Tools execution failed with the following error:

Failed to run tools: 13 INTERNAL: Received RST_STREAM with code 2 (Internal server error)


Comment @coderabbitai help to get the list of available commands and usage tips.

@kibanamachine
Copy link
Copy Markdown
Contributor

💔 All backports failed

Status Branch Result
8.19 Backport failed because of merge conflicts

You might need to backport the following PRs to 8.19:
- [Security Solution] Fix rule's lastRun.outcomeMsg functional test flakiness (#259955)
9.2 Backport failed because of merge conflicts

You might need to backport the following PRs to 9.2:
- [Security Solution] Fix rule's lastRun.outcomeMsg functional test flakiness (#259955)
9.3 Backport failed because of merge conflicts

You might need to backport the following PRs to 9.3:
- [Security Solution] Fix rule's lastRun.outcomeMsg functional test flakiness (#259955)
- [Snapshot Restore] Migrate flaky repository_add integration test to unit tests (#258974)

Manual backport

To create the backport manually run:

node scripts/backport --pr 259170

Questions ?

Please refer to the Backport tool documentation

SoniaSanzV pushed a commit to SoniaSanzV/kibana that referenced this pull request Mar 30, 2026
## Summary

Closes elastic/appex-qa-team#708

### Adds Scout support for plugins located in `/examples`, in
particular:

- scout playwright config discovery
- stateful shared config to use for all plugins (saves CI runtime by
avoiding restarts)
- registration in `scout_ci_config.yml` for CI run

### Code change:

`loadScoutManifestFile` reads the Scout .meta/*.json next to a
Playwright config (test ids, tags, etc.), or returns a placeholder when
that file is not present so fromPath still works. It was extracted so
both the regular plugin/package path parsing and the new `examples/`
path parsing share the same manifest-loading logic instead of
duplicating it.

---------

Co-authored-by: Stelios Mavro <81311181+steliosmavro@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
@kibanamachine kibanamachine added the backport missing Added to PRs automatically when the are determined to be missing a backport. label Mar 30, 2026
@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 259170 locally
cc: @dmlemeshko

1 similar comment
@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 259170 locally
cc: @dmlemeshko

jeramysoucy pushed a commit to jeramysoucy/kibana that referenced this pull request Apr 1, 2026
## Summary

Closes elastic/appex-qa-team#708

### Adds Scout support for plugins located in `/examples`, in
particular:

- scout playwright config discovery
- stateful shared config to use for all plugins (saves CI runtime by
avoiding restarts)
- registration in `scout_ci_config.yml` for CI run

### Code change:

`loadScoutManifestFile` reads the Scout .meta/*.json next to a
Playwright config (test ids, tags, etc.), or returns a placeholder when
that file is not present so fromPath still works. It was extracted so
both the regular plugin/package path parsing and the new `examples/`
path parsing share the same manifest-loading logic instead of
duplicating it.

---------

Co-authored-by: Stelios Mavro <81311181+steliosmavro@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 259170 locally
cc: @dmlemeshko

paulinashakirova pushed a commit to paulinashakirova/kibana that referenced this pull request Apr 2, 2026
## Summary

Closes elastic/appex-qa-team#708

### Adds Scout support for plugins located in `/examples`, in
particular:

- scout playwright config discovery
- stateful shared config to use for all plugins (saves CI runtime by
avoiding restarts)
- registration in `scout_ci_config.yml` for CI run

### Code change:

`loadScoutManifestFile` reads the Scout .meta/*.json next to a
Playwright config (test ids, tags, etc.), or returns a placeholder when
that file is not present so fromPath still works. It was extracted so
both the regular plugin/package path parsing and the new `examples/`
path parsing share the same manifest-loading logic instead of
duplicating it.

---------

Co-authored-by: Stelios Mavro <81311181+steliosmavro@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 259170 locally
cc: @dmlemeshko

3 similar comments
@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 259170 locally
cc: @dmlemeshko

@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 259170 locally
cc: @dmlemeshko

@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 259170 locally
cc: @dmlemeshko

dmlemeshko added a commit to dmlemeshko/kibana that referenced this pull request Apr 6, 2026
## Summary

Closes elastic/appex-qa-team#708

### Adds Scout support for plugins located in `/examples`, in
particular:

- scout playwright config discovery
- stateful shared config to use for all plugins (saves CI runtime by
avoiding restarts)
- registration in `scout_ci_config.yml` for CI run

### Code change:

`loadScoutManifestFile` reads the Scout .meta/*.json next to a
Playwright config (test ids, tags, etc.), or returns a placeholder when
that file is not present so fromPath still works. It was extracted so
both the regular plugin/package path parsing and the new `examples/`
path parsing share the same manifest-loading logic instead of
duplicating it.

---------

Co-authored-by: Stelios Mavro <81311181+steliosmavro@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
(cherry picked from commit 4c8724b)

# Conflicts:
#	examples/flyout_system/kibana.jsonc
@dmlemeshko
Copy link
Copy Markdown
Contributor Author

💚 All backports created successfully

Status Branch Result
9.3

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

dmlemeshko added a commit to dmlemeshko/kibana that referenced this pull request Apr 6, 2026
## Summary

Closes elastic/appex-qa-team#708

### Adds Scout support for plugins located in `/examples`, in
particular:

- scout playwright config discovery
- stateful shared config to use for all plugins (saves CI runtime by
avoiding restarts)
- registration in `scout_ci_config.yml` for CI run

### Code change:

`loadScoutManifestFile` reads the Scout .meta/*.json next to a
Playwright config (test ids, tags, etc.), or returns a placeholder when
that file is not present so fromPath still works. It was extracted so
both the regular plugin/package path parsing and the new `examples/`
path parsing share the same manifest-loading logic instead of
duplicating it.

---------

Co-authored-by: Stelios Mavro <81311181+steliosmavro@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
(cherry picked from commit 4c8724b)

# Conflicts:
#	examples/flyout_system/kibana.jsonc
@dmlemeshko
Copy link
Copy Markdown
Contributor Author

💚 All backports created successfully

Status Branch Result
9.2

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

dmlemeshko added a commit to dmlemeshko/kibana that referenced this pull request Apr 6, 2026
## Summary

Closes elastic/appex-qa-team#708

### Adds Scout support for plugins located in `/examples`, in
particular:

- scout playwright config discovery
- stateful shared config to use for all plugins (saves CI runtime by
avoiding restarts)
- registration in `scout_ci_config.yml` for CI run

### Code change:

`loadScoutManifestFile` reads the Scout .meta/*.json next to a
Playwright config (test ids, tags, etc.), or returns a placeholder when
that file is not present so fromPath still works. It was extracted so
both the regular plugin/package path parsing and the new `examples/`
path parsing share the same manifest-loading logic instead of
duplicating it.

---------

Co-authored-by: Stelios Mavro <81311181+steliosmavro@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
(cherry picked from commit 4c8724b)

# Conflicts:
#	examples/flyout_system/kibana.jsonc
@dmlemeshko
Copy link
Copy Markdown
Contributor Author

💚 All backports created successfully

Status Branch Result
8.19

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

@kibanamachine
Copy link
Copy Markdown
Contributor

Looks like this PR has backport PRs but they still haven't been merged. Please merge them ASAP to keep the branches relatively in sync.
cc: @dmlemeshko

1 similar comment
@kibanamachine
Copy link
Copy Markdown
Contributor

Looks like this PR has backport PRs but they still haven't been merged. Please merge them ASAP to keep the branches relatively in sync.
cc: @dmlemeshko

dmlemeshko added a commit that referenced this pull request Apr 7, 2026
# Backport

This will backport the following commits from `main` to `9.3`:
- [[scout] support example plugins
(#259170)](#259170)

<!--- Backport version: 11.0.1 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Dzmitry
Lemechko","email":"dzmitry.lemechko@elastic.co"},"sourceCommit":{"committedDate":"2026-03-27T17:44:21Z","message":"[scout]
support example plugins (#259170)\n\n## Summary\n\nCloses
https://github.com/elastic/appex-qa-team/issues/708\n\n### Adds Scout
support for plugins located in `/examples`, in\nparticular:\n\n- scout
playwright config discovery\n- stateful shared config to use for all
plugins (saves CI runtime by\navoiding restarts)\n- registration in
`scout_ci_config.yml` for CI run\n\n### Code
change:\n\n`loadScoutManifestFile` reads the Scout .meta/*.json next to
a\nPlaywright config (test ids, tags, etc.), or returns a placeholder
when\nthat file is not present so fromPath still works. It was extracted
so\nboth the regular plugin/package path parsing and the new
`examples/`\npath parsing share the same manifest-loading logic instead
of\nduplicating it.\n\n---------\n\nCo-authored-by: Stelios Mavro
<81311181+steliosmavro@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"4c8724bb8fe03db9d1c585072c450394ad7e8d4e","branchLabelMapping":{"^v9.4.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport
missing","backport:all-open","v9.4.0"],"title":"[scout] support example
plugins","number":259170,"url":"https://github.com/elastic/kibana/pull/259170","mergeCommit":{"message":"[scout]
support example plugins (#259170)\n\n## Summary\n\nCloses
https://github.com/elastic/appex-qa-team/issues/708\n\n### Adds Scout
support for plugins located in `/examples`, in\nparticular:\n\n- scout
playwright config discovery\n- stateful shared config to use for all
plugins (saves CI runtime by\navoiding restarts)\n- registration in
`scout_ci_config.yml` for CI run\n\n### Code
change:\n\n`loadScoutManifestFile` reads the Scout .meta/*.json next to
a\nPlaywright config (test ids, tags, etc.), or returns a placeholder
when\nthat file is not present so fromPath still works. It was extracted
so\nboth the regular plugin/package path parsing and the new
`examples/`\npath parsing share the same manifest-loading logic instead
of\nduplicating it.\n\n---------\n\nCo-authored-by: Stelios Mavro
<81311181+steliosmavro@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"4c8724bb8fe03db9d1c585072c450394ad7e8d4e"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.4.0","branchLabelMappingKey":"^v9.4.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/259170","number":259170,"mergeCommit":{"message":"[scout]
support example plugins (#259170)\n\n## Summary\n\nCloses
https://github.com/elastic/appex-qa-team/issues/708\n\n### Adds Scout
support for plugins located in `/examples`, in\nparticular:\n\n- scout
playwright config discovery\n- stateful shared config to use for all
plugins (saves CI runtime by\navoiding restarts)\n- registration in
`scout_ci_config.yml` for CI run\n\n### Code
change:\n\n`loadScoutManifestFile` reads the Scout .meta/*.json next to
a\nPlaywright config (test ids, tags, etc.), or returns a placeholder
when\nthat file is not present so fromPath still works. It was extracted
so\nboth the regular plugin/package path parsing and the new
`examples/`\npath parsing share the same manifest-loading logic instead
of\nduplicating it.\n\n---------\n\nCo-authored-by: Stelios Mavro
<81311181+steliosmavro@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"4c8724bb8fe03db9d1c585072c450394ad7e8d4e"}}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
dmlemeshko added a commit that referenced this pull request Apr 7, 2026
# Backport

This will backport the following commits from `main` to `9.2`:
- [[scout] support example plugins
(#259170)](#259170)

<!--- Backport version: 11.0.1 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Dzmitry
Lemechko","email":"dzmitry.lemechko@elastic.co"},"sourceCommit":{"committedDate":"2026-03-27T17:44:21Z","message":"[scout]
support example plugins (#259170)\n\n## Summary\n\nCloses
https://github.com/elastic/appex-qa-team/issues/708\n\n### Adds Scout
support for plugins located in `/examples`, in\nparticular:\n\n- scout
playwright config discovery\n- stateful shared config to use for all
plugins (saves CI runtime by\navoiding restarts)\n- registration in
`scout_ci_config.yml` for CI run\n\n### Code
change:\n\n`loadScoutManifestFile` reads the Scout .meta/*.json next to
a\nPlaywright config (test ids, tags, etc.), or returns a placeholder
when\nthat file is not present so fromPath still works. It was extracted
so\nboth the regular plugin/package path parsing and the new
`examples/`\npath parsing share the same manifest-loading logic instead
of\nduplicating it.\n\n---------\n\nCo-authored-by: Stelios Mavro
<81311181+steliosmavro@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"4c8724bb8fe03db9d1c585072c450394ad7e8d4e","branchLabelMapping":{"^v9.4.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport
missing","backport:all-open","v9.4.0"],"title":"[scout] support example
plugins","number":259170,"url":"https://github.com/elastic/kibana/pull/259170","mergeCommit":{"message":"[scout]
support example plugins (#259170)\n\n## Summary\n\nCloses
https://github.com/elastic/appex-qa-team/issues/708\n\n### Adds Scout
support for plugins located in `/examples`, in\nparticular:\n\n- scout
playwright config discovery\n- stateful shared config to use for all
plugins (saves CI runtime by\navoiding restarts)\n- registration in
`scout_ci_config.yml` for CI run\n\n### Code
change:\n\n`loadScoutManifestFile` reads the Scout .meta/*.json next to
a\nPlaywright config (test ids, tags, etc.), or returns a placeholder
when\nthat file is not present so fromPath still works. It was extracted
so\nboth the regular plugin/package path parsing and the new
`examples/`\npath parsing share the same manifest-loading logic instead
of\nduplicating it.\n\n---------\n\nCo-authored-by: Stelios Mavro
<81311181+steliosmavro@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"4c8724bb8fe03db9d1c585072c450394ad7e8d4e"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.4.0","branchLabelMappingKey":"^v9.4.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/259170","number":259170,"mergeCommit":{"message":"[scout]
support example plugins (#259170)\n\n## Summary\n\nCloses
https://github.com/elastic/appex-qa-team/issues/708\n\n### Adds Scout
support for plugins located in `/examples`, in\nparticular:\n\n- scout
playwright config discovery\n- stateful shared config to use for all
plugins (saves CI runtime by\navoiding restarts)\n- registration in
`scout_ci_config.yml` for CI run\n\n### Code
change:\n\n`loadScoutManifestFile` reads the Scout .meta/*.json next to
a\nPlaywright config (test ids, tags, etc.), or returns a placeholder
when\nthat file is not present so fromPath still works. It was extracted
so\nboth the regular plugin/package path parsing and the new
`examples/`\npath parsing share the same manifest-loading logic instead
of\nduplicating it.\n\n---------\n\nCo-authored-by: Stelios Mavro
<81311181+steliosmavro@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"4c8724bb8fe03db9d1c585072c450394ad7e8d4e"}},{"url":"https://github.com/elastic/kibana/pull/261384","number":261384,"branch":"9.3","state":"OPEN"}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
dmlemeshko added a commit that referenced this pull request Apr 7, 2026
# Backport

This will backport the following commits from `main` to `8.19`:
- [[scout] support example plugins
(#259170)](#259170)

<!--- Backport version: 11.0.1 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Dzmitry
Lemechko","email":"dzmitry.lemechko@elastic.co"},"sourceCommit":{"committedDate":"2026-03-27T17:44:21Z","message":"[scout]
support example plugins (#259170)\n\n## Summary\n\nCloses
https://github.com/elastic/appex-qa-team/issues/708\n\n### Adds Scout
support for plugins located in `/examples`, in\nparticular:\n\n- scout
playwright config discovery\n- stateful shared config to use for all
plugins (saves CI runtime by\navoiding restarts)\n- registration in
`scout_ci_config.yml` for CI run\n\n### Code
change:\n\n`loadScoutManifestFile` reads the Scout .meta/*.json next to
a\nPlaywright config (test ids, tags, etc.), or returns a placeholder
when\nthat file is not present so fromPath still works. It was extracted
so\nboth the regular plugin/package path parsing and the new
`examples/`\npath parsing share the same manifest-loading logic instead
of\nduplicating it.\n\n---------\n\nCo-authored-by: Stelios Mavro
<81311181+steliosmavro@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"4c8724bb8fe03db9d1c585072c450394ad7e8d4e","branchLabelMapping":{"^v9.4.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport
missing","backport:all-open","v9.4.0"],"title":"[scout] support example
plugins","number":259170,"url":"https://github.com/elastic/kibana/pull/259170","mergeCommit":{"message":"[scout]
support example plugins (#259170)\n\n## Summary\n\nCloses
https://github.com/elastic/appex-qa-team/issues/708\n\n### Adds Scout
support for plugins located in `/examples`, in\nparticular:\n\n- scout
playwright config discovery\n- stateful shared config to use for all
plugins (saves CI runtime by\navoiding restarts)\n- registration in
`scout_ci_config.yml` for CI run\n\n### Code
change:\n\n`loadScoutManifestFile` reads the Scout .meta/*.json next to
a\nPlaywright config (test ids, tags, etc.), or returns a placeholder
when\nthat file is not present so fromPath still works. It was extracted
so\nboth the regular plugin/package path parsing and the new
`examples/`\npath parsing share the same manifest-loading logic instead
of\nduplicating it.\n\n---------\n\nCo-authored-by: Stelios Mavro
<81311181+steliosmavro@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"4c8724bb8fe03db9d1c585072c450394ad7e8d4e"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.4.0","branchLabelMappingKey":"^v9.4.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/259170","number":259170,"mergeCommit":{"message":"[scout]
support example plugins (#259170)\n\n## Summary\n\nCloses
https://github.com/elastic/appex-qa-team/issues/708\n\n### Adds Scout
support for plugins located in `/examples`, in\nparticular:\n\n- scout
playwright config discovery\n- stateful shared config to use for all
plugins (saves CI runtime by\navoiding restarts)\n- registration in
`scout_ci_config.yml` for CI run\n\n### Code
change:\n\n`loadScoutManifestFile` reads the Scout .meta/*.json next to
a\nPlaywright config (test ids, tags, etc.), or returns a placeholder
when\nthat file is not present so fromPath still works. It was extracted
so\nboth the regular plugin/package path parsing and the new
`examples/`\npath parsing share the same manifest-loading logic instead
of\nduplicating it.\n\n---------\n\nCo-authored-by: Stelios Mavro
<81311181+steliosmavro@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"4c8724bb8fe03db9d1c585072c450394ad7e8d4e"}},{"url":"https://github.com/elastic/kibana/pull/261384","number":261384,"branch":"9.3","state":"OPEN"},{"url":"https://github.com/elastic/kibana/pull/261385","number":261385,"branch":"9.2","state":"OPEN"}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
@kibanamachine kibanamachine added v8.19.14 and removed backport missing Added to PRs automatically when the are determined to be missing a backport. labels Apr 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:all-open Backport to all branches that could still receive a release release_note:skip Skip the PR/issue when compiling release notes v8.19.14 v9.2.8 v9.3.3 v9.4.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants