Skip to content

feat(operator-demo-video): add DemoVideoGenerator module and Playwright automation foundation - #7594

Open
xuang7 wants to merge 4 commits into
apache:mainfrom
xuang7:pr/operator-demo-c1-foundation
Open

feat(operator-demo-video): add DemoVideoGenerator module and Playwright automation foundation#7594
xuang7 wants to merge 4 commits into
apache:mainfrom
xuang7:pr/operator-demo-c1-foundation

Conversation

@xuang7

@xuang7 xuang7 commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

What changes were proposed in this PR?

This PR adds the foundation for an operator demo video generator: a Playwright-based tool that records a short demo video per operator, to be linked from the operator docs under docs/reference/operators/.

Changes:

  • A new DemoVideoGenerator sbt module at docs/operator-demo-videos/ with the Playwright dependency. It is standalone. It compiles without the rest of the build.
  • The automation abstractions the tool is built from: fluent builders that accumulate named steps (ControllerBuilder/ControllerStep), a two-phase per-operator script trait (prepare = unrecorded scaffolding, execute = the recorded demo), and a fake on-screen cursor so recordings show where the automation is clicking.
  • Adds the recording configuration in TestDataConfig (base URL, viewport and video size, pacing, output directory); later PRs will add more defaults such as the datasets and template workflows.
  • Excludes docs/operator-demo-videos/ from the docs-to-website sync workflow: the module is build tooling, not docs content, so its sources are never published to the website and module-only pushes do not trigger a site sync.

Follow-up PRs add the UI controllers (login, navigation, drag-and-connect, form filling, execution), per-operator sample values, and the generator and runner that make the tool runnable end-to-end.

Any related issues, documentation, discussions?

Closes #7519

How was this PR tested?

No behavior change to any existing module. sbt DemoVideoGenerator/compile, scalafmtCheck, and scalafix --check all pass.

Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Claude Fable 5)

…ht automation foundation

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions github-actions Bot added dependencies Pull requests that update a dependency file ci changes related to CI docs Changes related to documentations common labels Aug 12, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Automated Reviewer Suggestions

Based on the git blame history of the changed files, we recommend the following reviewers:

  • Contributors with relevant context: @kunwp1
    You can notify them by mentioning @kunwp1 in a comment.

@codecov-commenter

codecov-commenter commented Aug 12, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.65%. Comparing base (5021bc6) to head (f6d6f0b).
⚠️ Report is 30 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #7594      +/-   ##
============================================
+ Coverage     88.63%   89.65%   +1.01%     
- Complexity     4346     4398      +52     
============================================
  Files          1177     1177              
  Lines         46894    46996     +102     
  Branches       5229     5268      +39     
============================================
+ Hits          41566    42135     +569     
+ Misses         3568     3095     -473     
- Partials       1760     1766       +6     
Flag Coverage Δ
access-control-service 70.00% <ø> (ø)
agent-service 98.62% <ø> (+<0.01%) ⬆️
amber 86.35% <ø> (+1.63%) ⬆️
computing-unit-managing-service 72.46% <ø> (+12.07%) ⬆️
config-service 77.31% <ø> (ø)
file-service 68.90% <ø> (-0.15%) ⬇️
frontend 90.67% <ø> (+0.68%) ⬆️
notebook-migration-service 78.89% <ø> (ø)
pyamber 97.57% <ø> (+0.05%) ⬆️
workflow-compiling-service 57.89% <ø> (ø)

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@xuang7

xuang7 commented Aug 12, 2026

Copy link
Copy Markdown
Contributor Author

Could you take a look when you're available? Thanks! @carloea2

@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

⚠️ Benchmark changes need a look

🟢 0 better · 🔴 10 worse · ⚪ 5 noise (<±5%) · 0 without baseline

Compared against main 5021bc6 benchmarked on this same runner, so the delta is largely free of cross-runner hardware noise. The "7d avg" column still reflects the gh-pages dashboard. Treat <±5% as noise unless repeated.

Dashboard · Run

config throughput MB/s latency max Δ latest / 7d
🔴 bs=10 sw=10 sl=64 374 0.228 25,941/32,968/32,968 us 🔴 +16.3% / 🔴 +103.6%
🔴 bs=100 sw=10 sl=64 765 0.467 127,211/166,312/166,312 us 🔴 +9.2% / 🔴 +54.6%
bs=1000 sw=10 sl=64 902 0.551 1,108,596/1,175,300/1,175,300 us ⚪ within ±5% / 🔴 +13.4%
Baseline details

Latest main 5021bc6 from same runner

config metric PR latest main 7d avg Δ latest Δ 7d
bs=10 sw=10 sl=64 throughput 374 tuples/sec 437 tuples/sec 774.89 tuples/sec -14.4% -51.7%
bs=10 sw=10 sl=64 MB/s 0.228 MB/s 0.266 MB/s 0.473 MB/s -14.3% -51.8%
bs=10 sw=10 sl=64 p50 25,941 us 22,330 us 12,738 us +16.2% +103.6%
bs=10 sw=10 sl=64 p95 32,968 us 28,336 us 16,348 us +16.3% +101.7%
bs=10 sw=10 sl=64 p99 32,968 us 28,336 us 18,848 us +16.3% +74.9%
bs=100 sw=10 sl=64 throughput 765 tuples/sec 815 tuples/sec 1,005 tuples/sec -6.1% -23.9%
bs=100 sw=10 sl=64 MB/s 0.467 MB/s 0.498 MB/s 0.613 MB/s -6.2% -23.8%
bs=100 sw=10 sl=64 p50 127,211 us 119,503 us 100,970 us +6.5% +26.0%
bs=100 sw=10 sl=64 p95 166,312 us 152,349 us 107,605 us +9.2% +54.6%
bs=100 sw=10 sl=64 p99 166,312 us 152,349 us 116,429 us +9.2% +42.8%
bs=1000 sw=10 sl=64 throughput 902 tuples/sec 910 tuples/sec 1,030 tuples/sec -0.9% -12.5%
bs=1000 sw=10 sl=64 MB/s 0.551 MB/s 0.555 MB/s 0.629 MB/s -0.7% -12.4%
bs=1000 sw=10 sl=64 p50 1,108,596 us 1,091,248 us 991,433 us +1.6% +11.8%
bs=1000 sw=10 sl=64 p95 1,175,300 us 1,177,492 us 1,036,668 us -0.2% +13.4%
bs=1000 sw=10 sl=64 p99 1,175,300 us 1,177,492 us 1,070,470 us -0.2% +9.8%
Raw CSV
config_idx,batch_size,schema_width,string_len,num_batches,total_ms,total_tuples,total_bytes,tuples_per_sec,mb_per_sec,lat_p50_us,lat_p95_us,lat_p99_us
0,10,10,64,20,534.79,200,128000,374,0.228,25941.20,32968.48,32968.48
1,100,10,64,20,2614.41,2000,1280000,765,0.467,127211.21,166311.50,166311.50
2,1000,10,64,20,22173.07,20000,12800000,902,0.551,1108596.07,1175300.23,1175300.23

@carloea2 carloea2 left a comment

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.

The cursor setup after navigation does not run. The startup script only defines a function. Please pass the script body or call the function.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@xuang7
xuang7 requested a review from carloea2 August 13, 2026 23:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci changes related to CI common dependencies Pull requests that update a dependency file docs Changes related to documentations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add the Docs module and the Playwright automation foundation

3 participants