Skip to content

[scout] extend config-discovery with CI validator#214403

Merged
dmlemeshko merged 22 commits intoelastic:mainfrom
dmlemeshko:scout/add-ci-check-config
Mar 18, 2025
Merged

[scout] extend config-discovery with CI validator#214403
dmlemeshko merged 22 commits intoelastic:mainfrom
dmlemeshko:scout/add-ci-check-config

Conversation

@dmlemeshko
Copy link
Contributor

@dmlemeshko dmlemeshko commented Mar 13, 2025

Summary

More teams are adding Scout tests in their plugins, often as a PoC and not stable yet for continuous execution.
We don't want to block it, but need a way to manage the scope of Scout pipeline and be able to disable it quickly to unblock the Scout development.

Since Scout is in active development and we need it to be simple and quick as possible (we can iterate and improve later), we agreed with Robert to disable tests by plugin:

ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
    - observability_onboarding
  disabled:
    - *skipped_plugin*

When scout configuration is added to the new plugin, it will require to update .buildkite/scout_ci_config.yml that is owned by appex-qa team. If there is no intention to run Scout tests on CI, plugin name should be added under disabled section.

How to test locally:

  • Scout tests were added in observability_onboarding plugin, pipeline will throw error

modify locally .buildkite/scout_ci_config.yml

ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
  disabled:

run node scripts/scout discover-playwright-configs --validate --save

ERROR The following plugins are not registered in Scout CI config '.buildkite/scout_ci_config.yml'
      - observability_onboarding

On CI annotation will be added to clarify the failure:

we decided to move validation to "Quick Checks", no need to annotate.

image
  • observability_onboarding plugin is disabled, pipeline won't include it (excluded in scout_playwright_configs.json)

modify locally .buildkite/scout_ci_config.yml

ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
  disabled:
   - observability_onboarding

run node scripts/scout discover-playwright-configs --validate --save

 warn The following plugins are disabled in '.buildkite/scout_ci_config.yml' and will be excluded from CI run
      - observability_onboarding
 info Found Playwright config files in '4' plugins.
      Saved '3' plugins to '/Users/dmle/github/kibana/.scout/test_configs/scout_playwright_configs.json'

@dmlemeshko dmlemeshko requested a review from pheyos March 13, 2025 14:58
@dmlemeshko dmlemeshko self-assigned this Mar 14, 2025
@dmlemeshko dmlemeshko added release_note:skip Skip the PR/issue when compiling release notes v9.0.0 backport:version Backport to applied version labels test:scout v9.1.0 v8.19.0 labels Mar 14, 2025
@dmlemeshko dmlemeshko marked this pull request as ready for review March 14, 2025 16:09
@dmlemeshko dmlemeshko requested review from a team as code owners March 14, 2025 16:09
Comment on lines +88 to +89
- exit_status: 10
limit: 0
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@elastic/kibana-operations if there is reserved status code for similar cases (intentional failure without a retry), I'm happy to replace 10 for consistency.

node scripts/scout discover-playwright-configs --save

set +e;
OUTPUT=$(node scripts/scout discover-playwright-configs --save --validate 2>&1)
Copy link
Contributor

@jbudz jbudz Mar 14, 2025

Choose a reason for hiding this comment

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

When scout tests move to on-merge it may make sense to move this to quick checks. It'll fail CI quicker if there's issues

Copy link
Contributor

@csr csr left a comment

Choose a reason for hiding this comment

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

First batch of comments (1 out of 2), expect more later today.

Copy link
Contributor

Choose a reason for hiding this comment

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

We mention in the PR description

When scout configuration is added to the new plugin, it will require to update .buildkite/scout_ci_config.yml that is owned by appex-qa team.

I understand that the CI will throw an error if the plugin is not included in the file, but perhaps this should be mentioned in the kbn/scout README as well, for clarity. What do you think?


Bonus 1 (optional!): the node scripts/scout discover-playwright-configs doesn't seem to be documented in the README. I understand it is mostly a command for the CI, but it could be useful to document it here, if developers want to do some troubleshooting and see how it works.


Bonus 2 (optional!): you know what would be really cool? That the ERROR The following plugins are not registered ... message on Buildkite would link to the relevant README kbn/scout section, so developers have 100% complete knowledge (and confidence) to correctly fix the error.

Copy link
Contributor

@csr csr left a comment

Choose a reason for hiding this comment

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

Looking good to me! I left some minor comments. This is a very good step forward for Scout, we will all benefit from enabling (and most importantly) disabling plugins on demand.

@dmlemeshko dmlemeshko requested a review from jbudz March 18, 2025 12:22
Copy link
Contributor

@csr csr left a comment

Choose a reason for hiding this comment

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

Nice README + tests updates! LGTM.

                        *     .--.
                                / /  `
               +               | |
                      '         \ \__,
                  *          +   '--'  *
                      +   /\
         +              .'  '.   *
                *      /======\      +
                      ;:.  _   ;
                      |:. (_)  |
                      |:.  _   |
            +         |:. (_)  |          *
                      ;:.      ;
                    .' \:.    / `.
                   / .-'':._.'`-. \
                   |/    /||\    \|
             jgs _..--"""````"""--.._
           _.-'``                    ``'-._
         -'                                '-

@elasticmachine
Copy link
Contributor

💚 Build Succeeded

Metrics [docs]

✅ unchanged

History

cc @dmlemeshko

@dmlemeshko dmlemeshko merged commit 05447fe into elastic:main Mar 18, 2025
10 checks passed
@kibanamachine
Copy link
Contributor

Starting backport for target branches: 8.x, 9.0

https://github.com/elastic/kibana/actions/runs/13932807865

@kibanamachine
Copy link
Contributor

💔 All backports failed

Status Branch Result
8.x Backport failed because of merge conflicts
9.0 Backport failed because of merge conflicts

You might need to backport the following PRs to 9.0:
- Upgrade to Storybook 8 (#195148)
- SKA: Update and breakdown x-pack/.gitignore (#212341)

Manual backport

To create the backport manually run:

node scripts/backport --pr 214403

Questions ?

Please refer to the Backport tool documentation

dmlemeshko added a commit to dmlemeshko/kibana that referenced this pull request Mar 20, 2025
## Summary

More teams are adding Scout tests in their plugins, often as a PoC and
not stable yet for continuous execution.
We don't want to block it, but need a way to manage the scope of Scout
pipeline and be able to disable it quickly to unblock the Scout
development.

Since Scout is in active development and we need it to be simple and
quick as possible (we can iterate and improve later), we agreed with
Robert to disable tests by plugin:

```
ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
    - observability_onboarding
  disabled:
    - *skipped_plugin*
```

When scout configuration is added to the new plugin, it will require to
update `.buildkite/scout_ci_config.yml` that is owned by `appex-qa`
team. If there is no intention to run Scout tests on CI, plugin name
should be added under `disabled` section.

**How to test locally:**

- Scout tests were added in `observability_onboarding` plugin, pipeline
will throw error

modify locally `.buildkite/scout_ci_config.yml`
```
ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
  disabled:
```

run `node scripts/scout discover-playwright-configs --validate --save`

```
ERROR The following plugins are not registered in Scout CI config '.buildkite/scout_ci_config.yml'
      - observability_onboarding
```

~~On CI annotation will be added to clarify the failure:~~

we decided to move validation to "Quick Checks", no need to annotate.

<img width="1583" alt="image"
src="https://github.com/user-attachments/assets/ed6b5778-74cb-4473-8218-b96239aab067"
/>

- `observability_onboarding` plugin is disabled, pipeline won't include
it (excluded in `scout_playwright_configs.json`)

modify locally `.buildkite/scout_ci_config.yml`
```
ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
  disabled:
   - observability_onboarding
```

run `node scripts/scout discover-playwright-configs --validate --save`

```
 warn The following plugins are disabled in '.buildkite/scout_ci_config.yml' and will be excluded from CI run
      - observability_onboarding
 info Found Playwright config files in '4' plugins.
      Saved '3' plugins to '/Users/dmle/github/kibana/.scout/test_configs/scout_playwright_configs.json'
```

(cherry picked from commit 05447fe)

# Conflicts:
#	.github/CODEOWNERS
@dmlemeshko
Copy link
Contributor Author

💚 All backports created successfully

Status Branch Result
9.0

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 Mar 20, 2025
## Summary

More teams are adding Scout tests in their plugins, often as a PoC and
not stable yet for continuous execution.
We don't want to block it, but need a way to manage the scope of Scout
pipeline and be able to disable it quickly to unblock the Scout
development.

Since Scout is in active development and we need it to be simple and
quick as possible (we can iterate and improve later), we agreed with
Robert to disable tests by plugin:

```
ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
    - observability_onboarding
  disabled:
    - *skipped_plugin*
```

When scout configuration is added to the new plugin, it will require to
update `.buildkite/scout_ci_config.yml` that is owned by `appex-qa`
team. If there is no intention to run Scout tests on CI, plugin name
should be added under `disabled` section.

**How to test locally:**

- Scout tests were added in `observability_onboarding` plugin, pipeline
will throw error

modify locally `.buildkite/scout_ci_config.yml`
```
ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
  disabled:
```

run `node scripts/scout discover-playwright-configs --validate --save`

```
ERROR The following plugins are not registered in Scout CI config '.buildkite/scout_ci_config.yml'
      - observability_onboarding
```

~~On CI annotation will be added to clarify the failure:~~

we decided to move validation to "Quick Checks", no need to annotate.

<img width="1583" alt="image"
src="https://github.com/user-attachments/assets/ed6b5778-74cb-4473-8218-b96239aab067"
/>

- `observability_onboarding` plugin is disabled, pipeline won't include
it (excluded in `scout_playwright_configs.json`)

modify locally `.buildkite/scout_ci_config.yml`
```
ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
  disabled:
   - observability_onboarding
```

run `node scripts/scout discover-playwright-configs --validate --save`

```
 warn The following plugins are disabled in '.buildkite/scout_ci_config.yml' and will be excluded from CI run
      - observability_onboarding
 info Found Playwright config files in '4' plugins.
      Saved '3' plugins to '/Users/dmle/github/kibana/.scout/test_configs/scout_playwright_configs.json'
```

(cherry picked from commit 05447fe)

# Conflicts:
#	.buildkite/scripts/steps/checks/quick_checks.txt
@dmlemeshko
Copy link
Contributor Author

💚 All backports created successfully

Status Branch Result
8.x

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

Questions ?

Please refer to the Backport tool documentation

@kibanamachine kibanamachine added the backport missing Added to PRs automatically when the are determined to be missing a backport. label Mar 20, 2025
@kibanamachine
Copy link
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.

clintandrewhall pushed a commit to clintandrewhall/kibana that referenced this pull request Mar 20, 2025
## Summary

More teams are adding Scout tests in their plugins, often as a PoC and
not stable yet for continuous execution.
We don't want to block it, but need a way to manage the scope of Scout
pipeline and be able to disable it quickly to unblock the Scout
development.

Since Scout is in active development and we need it to be simple and
quick as possible (we can iterate and improve later), we agreed with
Robert to disable tests by plugin:

```
ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
    - observability_onboarding
  disabled:
    - *skipped_plugin*
```

When scout configuration is added to the new plugin, it will require to
update `.buildkite/scout_ci_config.yml` that is owned by `appex-qa`
team. If there is no intention to run Scout tests on CI, plugin name
should be added under `disabled` section.

**How to test locally:**

- Scout tests were added in `observability_onboarding` plugin, pipeline
will throw error

modify locally `.buildkite/scout_ci_config.yml`
```
ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
  disabled:
```

run `node scripts/scout discover-playwright-configs --validate --save`

```
ERROR The following plugins are not registered in Scout CI config '.buildkite/scout_ci_config.yml'
      - observability_onboarding
```

~~On CI annotation will be added to clarify the failure:~~

we decided to move validation to "Quick Checks", no need to annotate.

<img width="1583" alt="image"
src="https://github.com/user-attachments/assets/ed6b5778-74cb-4473-8218-b96239aab067"
/>


- `observability_onboarding` plugin is disabled, pipeline won't include
it (excluded in `scout_playwright_configs.json`)

modify locally `.buildkite/scout_ci_config.yml`
```
ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
  disabled:
   - observability_onboarding
```

run `node scripts/scout discover-playwright-configs --validate --save`

```
 warn The following plugins are disabled in '.buildkite/scout_ci_config.yml' and will be excluded from CI run
      - observability_onboarding
 info Found Playwright config files in '4' plugins.
      Saved '3' plugins to '/Users/dmle/github/kibana/.scout/test_configs/scout_playwright_configs.json'
```
dmlemeshko added a commit that referenced this pull request Mar 21, 2025
…15340)

# Backport

This will backport the following commits from `main` to `9.0`:
- [[scout] extend config-discovery with CI validator
(#214403)](#214403)

<!--- Backport version: 9.6.6 -->

### 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":"2025-03-18T20:24:54Z","message":"[scout]
extend config-discovery with CI validator (#214403)\n\n##
Summary\n\nMore teams are adding Scout tests in their plugins, often as
a PoC and\nnot stable yet for continuous execution.\nWe don't want to
block it, but need a way to manage the scope of Scout\npipeline and be
able to disable it quickly to unblock the Scout\ndevelopment.\n\nSince
Scout is in active development and we need it to be simple and\nquick as
possible (we can iterate and improve later), we agreed with\nRobert to
disable tests by plugin:\n\n```\nui_tests:\n enabled:\n - apm\n -
discover_enhanced\n - maps\n - observability_onboarding\n disabled:\n -
*skipped_plugin*\n```\n\nWhen scout configuration is added to the new
plugin, it will require to\nupdate `.buildkite/scout_ci_config.yml` that
is owned by `appex-qa`\nteam. If there is no intention to run Scout
tests on CI, plugin name\nshould be added under `disabled`
section.\n\n**How to test locally:**\n\n- Scout tests were added in
`observability_onboarding` plugin, pipeline\nwill throw error\n\nmodify
locally `.buildkite/scout_ci_config.yml`\n```\nui_tests:\n enabled:\n -
apm\n - discover_enhanced\n - maps\n disabled:\n```\n\nrun `node
scripts/scout discover-playwright-configs --validate
--save`\n\n```\nERROR The following plugins are not registered in Scout
CI config '.buildkite/scout_ci_config.yml'\n -
observability_onboarding\n```\n\n~~On CI annotation will be added to
clarify the failure:~~\n\nwe decided to move validation to \"Quick
Checks\", no need to annotate.\n\n<img width=\"1583\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/ed6b5778-74cb-4473-8218-b96239aab067\"\n/>\n\n\n-
`observability_onboarding` plugin is disabled, pipeline won't
include\nit (excluded in `scout_playwright_configs.json`)\n\nmodify
locally `.buildkite/scout_ci_config.yml`\n```\nui_tests:\n enabled:\n -
apm\n - discover_enhanced\n - maps\n disabled:\n -
observability_onboarding\n```\n\nrun `node scripts/scout
discover-playwright-configs --validate --save`\n\n```\n warn The
following plugins are disabled in '.buildkite/scout_ci_config.yml' and
will be excluded from CI run\n - observability_onboarding\n info Found
Playwright config files in '4' plugins.\n Saved '3' plugins to
'/Users/dmle/github/kibana/.scout/test_configs/scout_playwright_configs.json'\n```","sha":"05447fe978cd5fedbbaaf09e3f3d8ee41b760366","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","backport:version","test:scout","v9.1.0","v8.19.0"],"title":"[scout]
extend config-discovery with CI
validator","number":214403,"url":"https://github.com/elastic/kibana/pull/214403","mergeCommit":{"message":"[scout]
extend config-discovery with CI validator (#214403)\n\n##
Summary\n\nMore teams are adding Scout tests in their plugins, often as
a PoC and\nnot stable yet for continuous execution.\nWe don't want to
block it, but need a way to manage the scope of Scout\npipeline and be
able to disable it quickly to unblock the Scout\ndevelopment.\n\nSince
Scout is in active development and we need it to be simple and\nquick as
possible (we can iterate and improve later), we agreed with\nRobert to
disable tests by plugin:\n\n```\nui_tests:\n enabled:\n - apm\n -
discover_enhanced\n - maps\n - observability_onboarding\n disabled:\n -
*skipped_plugin*\n```\n\nWhen scout configuration is added to the new
plugin, it will require to\nupdate `.buildkite/scout_ci_config.yml` that
is owned by `appex-qa`\nteam. If there is no intention to run Scout
tests on CI, plugin name\nshould be added under `disabled`
section.\n\n**How to test locally:**\n\n- Scout tests were added in
`observability_onboarding` plugin, pipeline\nwill throw error\n\nmodify
locally `.buildkite/scout_ci_config.yml`\n```\nui_tests:\n enabled:\n -
apm\n - discover_enhanced\n - maps\n disabled:\n```\n\nrun `node
scripts/scout discover-playwright-configs --validate
--save`\n\n```\nERROR The following plugins are not registered in Scout
CI config '.buildkite/scout_ci_config.yml'\n -
observability_onboarding\n```\n\n~~On CI annotation will be added to
clarify the failure:~~\n\nwe decided to move validation to \"Quick
Checks\", no need to annotate.\n\n<img width=\"1583\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/ed6b5778-74cb-4473-8218-b96239aab067\"\n/>\n\n\n-
`observability_onboarding` plugin is disabled, pipeline won't
include\nit (excluded in `scout_playwright_configs.json`)\n\nmodify
locally `.buildkite/scout_ci_config.yml`\n```\nui_tests:\n enabled:\n -
apm\n - discover_enhanced\n - maps\n disabled:\n -
observability_onboarding\n```\n\nrun `node scripts/scout
discover-playwright-configs --validate --save`\n\n```\n warn The
following plugins are disabled in '.buildkite/scout_ci_config.yml' and
will be excluded from CI run\n - observability_onboarding\n info Found
Playwright config files in '4' plugins.\n Saved '3' plugins to
'/Users/dmle/github/kibana/.scout/test_configs/scout_playwright_configs.json'\n```","sha":"05447fe978cd5fedbbaaf09e3f3d8ee41b760366"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/214403","number":214403,"mergeCommit":{"message":"[scout]
extend config-discovery with CI validator (#214403)\n\n##
Summary\n\nMore teams are adding Scout tests in their plugins, often as
a PoC and\nnot stable yet for continuous execution.\nWe don't want to
block it, but need a way to manage the scope of Scout\npipeline and be
able to disable it quickly to unblock the Scout\ndevelopment.\n\nSince
Scout is in active development and we need it to be simple and\nquick as
possible (we can iterate and improve later), we agreed with\nRobert to
disable tests by plugin:\n\n```\nui_tests:\n enabled:\n - apm\n -
discover_enhanced\n - maps\n - observability_onboarding\n disabled:\n -
*skipped_plugin*\n```\n\nWhen scout configuration is added to the new
plugin, it will require to\nupdate `.buildkite/scout_ci_config.yml` that
is owned by `appex-qa`\nteam. If there is no intention to run Scout
tests on CI, plugin name\nshould be added under `disabled`
section.\n\n**How to test locally:**\n\n- Scout tests were added in
`observability_onboarding` plugin, pipeline\nwill throw error\n\nmodify
locally `.buildkite/scout_ci_config.yml`\n```\nui_tests:\n enabled:\n -
apm\n - discover_enhanced\n - maps\n disabled:\n```\n\nrun `node
scripts/scout discover-playwright-configs --validate
--save`\n\n```\nERROR The following plugins are not registered in Scout
CI config '.buildkite/scout_ci_config.yml'\n -
observability_onboarding\n```\n\n~~On CI annotation will be added to
clarify the failure:~~\n\nwe decided to move validation to \"Quick
Checks\", no need to annotate.\n\n<img width=\"1583\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/ed6b5778-74cb-4473-8218-b96239aab067\"\n/>\n\n\n-
`observability_onboarding` plugin is disabled, pipeline won't
include\nit (excluded in `scout_playwright_configs.json`)\n\nmodify
locally `.buildkite/scout_ci_config.yml`\n```\nui_tests:\n enabled:\n -
apm\n - discover_enhanced\n - maps\n disabled:\n -
observability_onboarding\n```\n\nrun `node scripts/scout
discover-playwright-configs --validate --save`\n\n```\n warn The
following plugins are disabled in '.buildkite/scout_ci_config.yml' and
will be excluded from CI run\n - observability_onboarding\n info Found
Playwright config files in '4' plugins.\n Saved '3' plugins to
'/Users/dmle/github/kibana/.scout/test_configs/scout_playwright_configs.json'\n```","sha":"05447fe978cd5fedbbaaf09e3f3d8ee41b760366"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
@kibanamachine
Copy link
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.

CAWilson94 pushed a commit to CAWilson94/kibana that referenced this pull request Mar 22, 2025
## Summary

More teams are adding Scout tests in their plugins, often as a PoC and
not stable yet for continuous execution.
We don't want to block it, but need a way to manage the scope of Scout
pipeline and be able to disable it quickly to unblock the Scout
development.

Since Scout is in active development and we need it to be simple and
quick as possible (we can iterate and improve later), we agreed with
Robert to disable tests by plugin:

```
ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
    - observability_onboarding
  disabled:
    - *skipped_plugin*
```

When scout configuration is added to the new plugin, it will require to
update `.buildkite/scout_ci_config.yml` that is owned by `appex-qa`
team. If there is no intention to run Scout tests on CI, plugin name
should be added under `disabled` section.

**How to test locally:**

- Scout tests were added in `observability_onboarding` plugin, pipeline
will throw error

modify locally `.buildkite/scout_ci_config.yml`
```
ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
  disabled:
```

run `node scripts/scout discover-playwright-configs --validate --save`

```
ERROR The following plugins are not registered in Scout CI config '.buildkite/scout_ci_config.yml'
      - observability_onboarding
```

~~On CI annotation will be added to clarify the failure:~~

we decided to move validation to "Quick Checks", no need to annotate.

<img width="1583" alt="image"
src="https://github.com/user-attachments/assets/ed6b5778-74cb-4473-8218-b96239aab067"
/>


- `observability_onboarding` plugin is disabled, pipeline won't include
it (excluded in `scout_playwright_configs.json`)

modify locally `.buildkite/scout_ci_config.yml`
```
ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
  disabled:
   - observability_onboarding
```

run `node scripts/scout discover-playwright-configs --validate --save`

```
 warn The following plugins are disabled in '.buildkite/scout_ci_config.yml' and will be excluded from CI run
      - observability_onboarding
 info Found Playwright config files in '4' plugins.
      Saved '3' plugins to '/Users/dmle/github/kibana/.scout/test_configs/scout_playwright_configs.json'
```
dmlemeshko added a commit that referenced this pull request Mar 23, 2025
…15343)

# Backport

This will backport the following commits from `main` to `8.x`:
- [[scout] extend config-discovery with CI validator
(#214403)](#214403)

<!--- Backport version: 9.6.6 -->

### 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":"2025-03-18T20:24:54Z","message":"[scout]
extend config-discovery with CI validator (#214403)\n\n##
Summary\n\nMore teams are adding Scout tests in their plugins, often as
a PoC and\nnot stable yet for continuous execution.\nWe don't want to
block it, but need a way to manage the scope of Scout\npipeline and be
able to disable it quickly to unblock the Scout\ndevelopment.\n\nSince
Scout is in active development and we need it to be simple and\nquick as
possible (we can iterate and improve later), we agreed with\nRobert to
disable tests by plugin:\n\n```\nui_tests:\n enabled:\n - apm\n -
discover_enhanced\n - maps\n - observability_onboarding\n disabled:\n -
*skipped_plugin*\n```\n\nWhen scout configuration is added to the new
plugin, it will require to\nupdate `.buildkite/scout_ci_config.yml` that
is owned by `appex-qa`\nteam. If there is no intention to run Scout
tests on CI, plugin name\nshould be added under `disabled`
section.\n\n**How to test locally:**\n\n- Scout tests were added in
`observability_onboarding` plugin, pipeline\nwill throw error\n\nmodify
locally `.buildkite/scout_ci_config.yml`\n```\nui_tests:\n enabled:\n -
apm\n - discover_enhanced\n - maps\n disabled:\n```\n\nrun `node
scripts/scout discover-playwright-configs --validate
--save`\n\n```\nERROR The following plugins are not registered in Scout
CI config '.buildkite/scout_ci_config.yml'\n -
observability_onboarding\n```\n\n~~On CI annotation will be added to
clarify the failure:~~\n\nwe decided to move validation to \"Quick
Checks\", no need to annotate.\n\n<img width=\"1583\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/ed6b5778-74cb-4473-8218-b96239aab067\"\n/>\n\n\n-
`observability_onboarding` plugin is disabled, pipeline won't
include\nit (excluded in `scout_playwright_configs.json`)\n\nmodify
locally `.buildkite/scout_ci_config.yml`\n```\nui_tests:\n enabled:\n -
apm\n - discover_enhanced\n - maps\n disabled:\n -
observability_onboarding\n```\n\nrun `node scripts/scout
discover-playwright-configs --validate --save`\n\n```\n warn The
following plugins are disabled in '.buildkite/scout_ci_config.yml' and
will be excluded from CI run\n - observability_onboarding\n info Found
Playwright config files in '4' plugins.\n Saved '3' plugins to
'/Users/dmle/github/kibana/.scout/test_configs/scout_playwright_configs.json'\n```","sha":"05447fe978cd5fedbbaaf09e3f3d8ee41b760366","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","backport:version","test:scout","v9.1.0","v8.19.0"],"title":"[scout]
extend config-discovery with CI
validator","number":214403,"url":"https://github.com/elastic/kibana/pull/214403","mergeCommit":{"message":"[scout]
extend config-discovery with CI validator (#214403)\n\n##
Summary\n\nMore teams are adding Scout tests in their plugins, often as
a PoC and\nnot stable yet for continuous execution.\nWe don't want to
block it, but need a way to manage the scope of Scout\npipeline and be
able to disable it quickly to unblock the Scout\ndevelopment.\n\nSince
Scout is in active development and we need it to be simple and\nquick as
possible (we can iterate and improve later), we agreed with\nRobert to
disable tests by plugin:\n\n```\nui_tests:\n enabled:\n - apm\n -
discover_enhanced\n - maps\n - observability_onboarding\n disabled:\n -
*skipped_plugin*\n```\n\nWhen scout configuration is added to the new
plugin, it will require to\nupdate `.buildkite/scout_ci_config.yml` that
is owned by `appex-qa`\nteam. If there is no intention to run Scout
tests on CI, plugin name\nshould be added under `disabled`
section.\n\n**How to test locally:**\n\n- Scout tests were added in
`observability_onboarding` plugin, pipeline\nwill throw error\n\nmodify
locally `.buildkite/scout_ci_config.yml`\n```\nui_tests:\n enabled:\n -
apm\n - discover_enhanced\n - maps\n disabled:\n```\n\nrun `node
scripts/scout discover-playwright-configs --validate
--save`\n\n```\nERROR The following plugins are not registered in Scout
CI config '.buildkite/scout_ci_config.yml'\n -
observability_onboarding\n```\n\n~~On CI annotation will be added to
clarify the failure:~~\n\nwe decided to move validation to \"Quick
Checks\", no need to annotate.\n\n<img width=\"1583\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/ed6b5778-74cb-4473-8218-b96239aab067\"\n/>\n\n\n-
`observability_onboarding` plugin is disabled, pipeline won't
include\nit (excluded in `scout_playwright_configs.json`)\n\nmodify
locally `.buildkite/scout_ci_config.yml`\n```\nui_tests:\n enabled:\n -
apm\n - discover_enhanced\n - maps\n disabled:\n -
observability_onboarding\n```\n\nrun `node scripts/scout
discover-playwright-configs --validate --save`\n\n```\n warn The
following plugins are disabled in '.buildkite/scout_ci_config.yml' and
will be excluded from CI run\n - observability_onboarding\n info Found
Playwright config files in '4' plugins.\n Saved '3' plugins to
'/Users/dmle/github/kibana/.scout/test_configs/scout_playwright_configs.json'\n```","sha":"05447fe978cd5fedbbaaf09e3f3d8ee41b760366"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/215340","number":215340,"state":"OPEN"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/214403","number":214403,"mergeCommit":{"message":"[scout]
extend config-discovery with CI validator (#214403)\n\n##
Summary\n\nMore teams are adding Scout tests in their plugins, often as
a PoC and\nnot stable yet for continuous execution.\nWe don't want to
block it, but need a way to manage the scope of Scout\npipeline and be
able to disable it quickly to unblock the Scout\ndevelopment.\n\nSince
Scout is in active development and we need it to be simple and\nquick as
possible (we can iterate and improve later), we agreed with\nRobert to
disable tests by plugin:\n\n```\nui_tests:\n enabled:\n - apm\n -
discover_enhanced\n - maps\n - observability_onboarding\n disabled:\n -
*skipped_plugin*\n```\n\nWhen scout configuration is added to the new
plugin, it will require to\nupdate `.buildkite/scout_ci_config.yml` that
is owned by `appex-qa`\nteam. If there is no intention to run Scout
tests on CI, plugin name\nshould be added under `disabled`
section.\n\n**How to test locally:**\n\n- Scout tests were added in
`observability_onboarding` plugin, pipeline\nwill throw error\n\nmodify
locally `.buildkite/scout_ci_config.yml`\n```\nui_tests:\n enabled:\n -
apm\n - discover_enhanced\n - maps\n disabled:\n```\n\nrun `node
scripts/scout discover-playwright-configs --validate
--save`\n\n```\nERROR The following plugins are not registered in Scout
CI config '.buildkite/scout_ci_config.yml'\n -
observability_onboarding\n```\n\n~~On CI annotation will be added to
clarify the failure:~~\n\nwe decided to move validation to \"Quick
Checks\", no need to annotate.\n\n<img width=\"1583\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/ed6b5778-74cb-4473-8218-b96239aab067\"\n/>\n\n\n-
`observability_onboarding` plugin is disabled, pipeline won't
include\nit (excluded in `scout_playwright_configs.json`)\n\nmodify
locally `.buildkite/scout_ci_config.yml`\n```\nui_tests:\n enabled:\n -
apm\n - discover_enhanced\n - maps\n disabled:\n -
observability_onboarding\n```\n\nrun `node scripts/scout
discover-playwright-configs --validate --save`\n\n```\n warn The
following plugins are disabled in '.buildkite/scout_ci_config.yml' and
will be excluded from CI run\n - observability_onboarding\n info Found
Playwright config files in '4' plugins.\n Saved '3' plugins to
'/Users/dmle/github/kibana/.scout/test_configs/scout_playwright_configs.json'\n```","sha":"05447fe978cd5fedbbaaf09e3f3d8ee41b760366"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
@kibanamachine kibanamachine removed the backport missing Added to PRs automatically when the are determined to be missing a backport. label Mar 23, 2025
JoseLuisGJ pushed a commit to JoseLuisGJ/kibana that referenced this pull request Mar 24, 2025
## Summary

More teams are adding Scout tests in their plugins, often as a PoC and
not stable yet for continuous execution.
We don't want to block it, but need a way to manage the scope of Scout
pipeline and be able to disable it quickly to unblock the Scout
development.

Since Scout is in active development and we need it to be simple and
quick as possible (we can iterate and improve later), we agreed with
Robert to disable tests by plugin:

```
ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
    - observability_onboarding
  disabled:
    - *skipped_plugin*
```

When scout configuration is added to the new plugin, it will require to
update `.buildkite/scout_ci_config.yml` that is owned by `appex-qa`
team. If there is no intention to run Scout tests on CI, plugin name
should be added under `disabled` section.

**How to test locally:**

- Scout tests were added in `observability_onboarding` plugin, pipeline
will throw error

modify locally `.buildkite/scout_ci_config.yml`
```
ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
  disabled:
```

run `node scripts/scout discover-playwright-configs --validate --save`

```
ERROR The following plugins are not registered in Scout CI config '.buildkite/scout_ci_config.yml'
      - observability_onboarding
```

~~On CI annotation will be added to clarify the failure:~~

we decided to move validation to "Quick Checks", no need to annotate.

<img width="1583" alt="image"
src="https://github.com/user-attachments/assets/ed6b5778-74cb-4473-8218-b96239aab067"
/>


- `observability_onboarding` plugin is disabled, pipeline won't include
it (excluded in `scout_playwright_configs.json`)

modify locally `.buildkite/scout_ci_config.yml`
```
ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
  disabled:
   - observability_onboarding
```

run `node scripts/scout discover-playwright-configs --validate --save`

```
 warn The following plugins are disabled in '.buildkite/scout_ci_config.yml' and will be excluded from CI run
      - observability_onboarding
 info Found Playwright config files in '4' plugins.
      Saved '3' plugins to '/Users/dmle/github/kibana/.scout/test_configs/scout_playwright_configs.json'
```
cqliu1 pushed a commit to cqliu1/kibana that referenced this pull request Mar 31, 2025
## Summary

More teams are adding Scout tests in their plugins, often as a PoC and
not stable yet for continuous execution.
We don't want to block it, but need a way to manage the scope of Scout
pipeline and be able to disable it quickly to unblock the Scout
development.

Since Scout is in active development and we need it to be simple and
quick as possible (we can iterate and improve later), we agreed with
Robert to disable tests by plugin:

```
ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
    - observability_onboarding
  disabled:
    - *skipped_plugin*
```

When scout configuration is added to the new plugin, it will require to
update `.buildkite/scout_ci_config.yml` that is owned by `appex-qa`
team. If there is no intention to run Scout tests on CI, plugin name
should be added under `disabled` section.

**How to test locally:**

- Scout tests were added in `observability_onboarding` plugin, pipeline
will throw error

modify locally `.buildkite/scout_ci_config.yml`
```
ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
  disabled:
```

run `node scripts/scout discover-playwright-configs --validate --save`

```
ERROR The following plugins are not registered in Scout CI config '.buildkite/scout_ci_config.yml'
      - observability_onboarding
```

~~On CI annotation will be added to clarify the failure:~~

we decided to move validation to "Quick Checks", no need to annotate.

<img width="1583" alt="image"
src="https://github.com/user-attachments/assets/ed6b5778-74cb-4473-8218-b96239aab067"
/>


- `observability_onboarding` plugin is disabled, pipeline won't include
it (excluded in `scout_playwright_configs.json`)

modify locally `.buildkite/scout_ci_config.yml`
```
ui_tests:
  enabled:
    - apm
    - discover_enhanced
    - maps
  disabled:
   - observability_onboarding
```

run `node scripts/scout discover-playwright-configs --validate --save`

```
 warn The following plugins are disabled in '.buildkite/scout_ci_config.yml' and will be excluded from CI run
      - observability_onboarding
 info Found Playwright config files in '4' plugins.
      Saved '3' plugins to '/Users/dmle/github/kibana/.scout/test_configs/scout_playwright_configs.json'
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:version Backport to applied version labels release_note:skip Skip the PR/issue when compiling release notes test:scout v8.19.0 v9.0.0 v9.1.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants