Skip to content

[One Workflow] Unskip Workflow editor: validation performance tests#268149

Merged
dej611 merged 3 commits into
elastic:mainfrom
dej611:fix/261213
May 8, 2026
Merged

[One Workflow] Unskip Workflow editor: validation performance tests#268149
dej611 merged 3 commits into
elastic:mainfrom
dej611:fix/261213

Conversation

@dej611
Copy link
Copy Markdown
Contributor

@dej611 dej611 commented May 7, 2026

Summary

Fixes #261213

Checklist

@dej611 dej611 added release_note:skip Skip the PR/issue when compiling release notes backport:version Backport to applied version labels Team:One Workflow Team label for One Workflow (Workflow automation) v9.5.0 v9.4.1 labels May 7, 2026
@dej611 dej611 marked this pull request as ready for review May 7, 2026 13:11
@dej611 dej611 requested a review from a team as a code owner May 7, 2026 13:11
@h88 h88 requested a review from Copilot May 7, 2026 14:13
@kibanamachine
Copy link
Copy Markdown
Contributor

Flaky Test Runner Stats

🟠 Some tests failed. - kibana-flaky-test-suite-runner#12159

[❌] src/platform/plugins/shared/workflows_management/test/scout_workflows_ui/ui/parallel.playwright.config.ts (--arch stateful --domain classic): 47/50 tests passed.
[✅] src/platform/plugins/shared/workflows_management/test/scout_workflows_ui/ui/parallel.playwright.config.ts (--arch serverless --domain observability_complete): 50/50 tests passed.
[❌] src/platform/plugins/shared/workflows_management/test/scout_workflows_ui/ui/parallel.playwright.config.ts (--arch serverless --domain security_complete): 47/50 tests passed.
[✅] src/platform/plugins/shared/workflows_management/test/scout_workflows_ui/ui/parallel.playwright.config.ts (--arch serverless --domain search): 50/50 tests passed.
[✅] src/platform/plugins/shared/workflows_management/test/scout_workflows_ui/ui/parallel.playwright.config.ts (--arch serverless --domain observability_logs_essentials): 50/50 tests passed.

see run history

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Re-enables the Workflow editor validation performance tests and optimizes YAML marker formatting by avoiding repeated YAML parses during marker update bursts.

Changes:

  • Unskips the workflow editor validation performance test suite (fix for #261213).
  • Caches parsed YAML documents per Monaco model version to reduce repeated parseDocument() calls during marker updates.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
src/platform/plugins/shared/workflows_management/test/scout_workflows_ui/ui/parallel_tests/workflow_editor_perf.spec.ts Unskips the previously skipped validation performance test suite.
src/platform/plugins/shared/workflows_management/public/features/validate_workflow_yaml/lib/use_monaco_markers_changed_interceptor.ts Adds a version-based cache to reuse a single YAML parse across multiple marker callbacks.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

// yamlDocumentRef lags the model by the 500ms Redux compute debounce, so formatMonacoYamlMarker
// needs a parse matching the current model. Cache by versionId so multiple setModelMarkers
// bursts within the same version share one parse instead of reparsing per marker callback.
const freshYamlDocCacheRef = useRef<{ versionId: number; doc: YAML.Document } | null>(null);
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.

Integrated feedback with 6658963

Comment on lines +68 to +76
const versionId = editorModel.getVersionId();
const cached = freshYamlDocCacheRef.current;
const freshYamlDocument =
cached && cached.versionId === versionId
? cached.doc
: parseDocument(editorModel.getValue());
if (cached?.versionId !== versionId) {
freshYamlDocCacheRef.current = { versionId, doc: freshYamlDocument };
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

dup comment

Copy link
Copy Markdown
Contributor

@h88 h88 left a comment

Choose a reason for hiding this comment

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

1 non-blocking comment + worth reviewing the flaky pipeline to see if it's related to the enabled spec

@kibanamachine
Copy link
Copy Markdown
Contributor

💛 Build succeeded, but was flaky

Failed CI Steps

Test Failures

  • [job] [logs] Scout Lane #21 - serverless-observability_complete / default / local-serverless-observability_complete - Serverless Observability Navigation - Complete tier body - clicking body nav items sets the active link, updates breadcrumbs, and navigates
  • [job] [logs] Scout Lane #7 - stateful-classic / default / local-stateful-classic - APM integration not installed but setup completed - Admin user
  • [job] [logs] Scout Lane #7 - stateful-classic / default / local-stateful-classic - Collector integration is not installed - collector integration missing
  • [job] [logs] Scout Lane #7 - stateful-classic / default / local-stateful-classic - Collector integration is not installed - Symbolizer integration is not installed
  • [job] [logs] Scout Lane #7 - stateful-classic / default / local-stateful-classic - Observability Landing Page (discover.isEsqlDefault enabled) - redirects to onboarding when no logs data exists
  • [job] [logs] Scout Lane #7 - stateful-classic / default / local-stateful-classic - Profiling is setup and data is loaded - Admin user
  • [job] [logs] Scout Lane #7 - stateful-classic / default / local-stateful-classic - Profiling is setup and data is loaded - Viewer user
  • [job] [logs] FTR Configs #2 / task_manager scheduling and running tasks should schedule tasks with API keys if request is provided

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
workflowsManagement 2.3MB 2.3MB +706.0B

History

@kibanamachine
Copy link
Copy Markdown
Contributor

Flaky Test Runner Stats

🎉 All tests passed! - kibana-flaky-test-suite-runner#12201

see run history

@dej611 dej611 merged commit cbad667 into elastic:main May 8, 2026
45 checks passed
@kibanamachine
Copy link
Copy Markdown
Contributor

Starting backport for target branches: 9.4

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

@kibanamachine
Copy link
Copy Markdown
Contributor

💔 All backports failed

Status Branch Result
9.4 Backport failed because of merge conflicts

Manual backport

To create the backport manually run:

node scripts/backport --pr 268149

Questions ?

Please refer to the Backport tool documentation

@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 268149 locally
cc: @dej611

@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 268149 locally
cc: @dej611

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 268149 locally
cc: @dej611

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport missing Added to PRs automatically when the are determined to be missing a backport. backport:version Backport to applied version labels release_note:skip Skip the PR/issue when compiling release notes Team:One Workflow Team label for One Workflow (Workflow automation) v9.4.1 v9.5.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Failing test: Workflow editor: validation performance - [large_perf (87 steps, 431 vars)] frame rate stays above threshold during rapid edits

4 participants