Skip to content

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

Open
xuang7 wants to merge 3 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 3 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 88.63%. Comparing base (5021bc6) to head (84fff17).

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #7594      +/-   ##
============================================
- Coverage     88.63%   88.63%   -0.01%     
  Complexity     4346     4346              
============================================
  Files          1177     1177              
  Lines         46894    46894              
  Branches       5229     5229              
============================================
- Hits          41566    41564       -2     
  Misses         3568     3568              
- Partials       1760     1762       +2     
Flag Coverage Δ
access-control-service 70.00% <ø> (ø)
agent-service 98.62% <ø> (ø)
amber 84.71% <ø> (-0.01%) ⬇️
computing-unit-managing-service 60.38% <ø> (ø)
config-service 77.31% <ø> (ø)
file-service 69.05% <ø> (ø)
frontend 89.98% <ø> (-0.01%) ⬇️
notebook-migration-service 78.89% <ø> (ø)
pyamber 97.52% <ø> (ø)
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 · 🔴 7 worse · ⚪ 8 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 347 0.212 28,522/34,455/34,455 us 🔴 +24.7% / 🔴 +126.5%
🔴 bs=100 sw=10 sl=64 770 0.47 124,043/193,061/193,061 us 🔴 +13.8% / 🔴 +78.6%
bs=1000 sw=10 sl=64 907 0.553 1,103,736/1,179,255/1,179,255 us ⚪ within ±5% / 🔴 +13.6%
Baseline details

Latest main 5021bc6 from same runner

config metric PR latest main 7d avg Δ latest Δ 7d
bs=10 sw=10 sl=64 throughput 347 tuples/sec 418 tuples/sec 784.3 tuples/sec -17.0% -55.8%
bs=10 sw=10 sl=64 MB/s 0.212 MB/s 0.255 MB/s 0.479 MB/s -16.9% -55.7%
bs=10 sw=10 sl=64 p50 28,522 us 22,866 us 12,590 us +24.7% +126.5%
bs=10 sw=10 sl=64 p95 34,455 us 33,176 us 15,991 us +3.9% +115.5%
bs=10 sw=10 sl=64 p99 34,455 us 33,176 us 18,694 us +3.9% +84.3%
bs=100 sw=10 sl=64 throughput 770 tuples/sec 817 tuples/sec 1,002 tuples/sec -5.8% -23.2%
bs=100 sw=10 sl=64 MB/s 0.47 MB/s 0.499 MB/s 0.612 MB/s -5.8% -23.1%
bs=100 sw=10 sl=64 p50 124,043 us 118,164 us 101,285 us +5.0% +22.5%
bs=100 sw=10 sl=64 p95 193,061 us 169,697 us 108,068 us +13.8% +78.6%
bs=100 sw=10 sl=64 p99 193,061 us 169,697 us 118,235 us +13.8% +63.3%
bs=1000 sw=10 sl=64 throughput 907 tuples/sec 915 tuples/sec 1,030 tuples/sec -0.9% -11.9%
bs=1000 sw=10 sl=64 MB/s 0.553 MB/s 0.558 MB/s 0.629 MB/s -0.9% -12.0%
bs=1000 sw=10 sl=64 p50 1,103,736 us 1,090,278 us 991,882 us +1.2% +11.3%
bs=1000 sw=10 sl=64 p95 1,179,255 us 1,146,668 us 1,038,496 us +2.8% +13.6%
bs=1000 sw=10 sl=64 p99 1,179,255 us 1,146,668 us 1,068,265 us +2.8% +10.4%
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,576.23,200,128000,347,0.212,28521.81,34455.44,34455.44
1,100,10,64,20,2598.67,2000,1280000,770,0.470,124043.19,193060.73,193060.73
2,1000,10,64,20,22055.52,20000,12800000,907,0.553,1103736.12,1179255.49,1179255.49

@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.

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