mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-11-01 19:26:52 +00:00
* ci(windows): probe that a render opens no visible window * ci(windows): the probe names what opened each window * ci(windows): the probe spawns each binary alone, with and without detached * ci(windows): the probe logs the processes started during the render * ci(windows): the probe also spawns Chrome one consoleless hop down * ci(windows): the probe logs each child started without windowsHide * ci(windows): the probe logs every child process with its windowsHide and detached * fix(engine): Chrome keeps the CLI's console on Windows, so a render opens no window * fix(cli): every child the CLI starts on Windows is hidden unless it opts out * ci(windows): the probe bisects Chrome's flags and keeps each command's output * ci(windows): the probe names the Chrome process behind each window * ci(windows): the probe loads a page in Chrome directly and one hidden hop down * ci(windows): the probe prints the Chrome main command line and renders with the reporter's flags * ci(windows): the probe narrows the CLI's Chrome arguments to the ones that open a window * ci(windows): the probe launches the CLI's Chrome arguments one hidden hop down * ci(windows): the probe launches Chrome through the engine's browser pool * ci(windows): the probe varies what the engine passes to Puppeteer * fix(engine): renders on Windows launch Chrome with a Puppeteer that keeps it attached * refactor(cli): hideChildConsoles copies its arguments and keeps one comment line
57 lines
2.1 KiB
YAML
57 lines
2.1 KiB
YAML
name: Windows window probe
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
HYPERFRAMES_NO_TELEMETRY: "1"
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- .github/workflows/windows-window-probe.yml
|
|
- .github/scripts/windows-window-probe.ps1
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
probe:
|
|
name: Agent commands open no window on windows-latest
|
|
runs-on: windows-latest
|
|
timeout-minutes: 30
|
|
steps:
|
|
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
|
|
- uses: ./.github/actions/install-ffmpeg-windows
|
|
- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2
|
|
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
|
with:
|
|
node-version: 22
|
|
- run: bun install --frozen-lockfile --linker=hoisted
|
|
shell: pwsh
|
|
- name: Build the CLI
|
|
shell: pwsh
|
|
run: |
|
|
bun run --filter '@hyperframes/{parsers,lint,studio-server}' build
|
|
bun run --cwd packages/core build
|
|
bun run --filter @hyperframes/player build
|
|
bun run --filter @hyperframes/studio build
|
|
bun run --filter @hyperframes/inspector build
|
|
bun run --filter @hyperframes/cli build
|
|
- name: Scaffold the canary
|
|
shell: pwsh
|
|
env:
|
|
HYPERFRAMES_SKIP_SKILLS: "1"
|
|
run: |
|
|
$dir = "$env:RUNNER_TEMP\probe"
|
|
New-Item -ItemType Directory -Force -Path $dir | Out-Null
|
|
Set-Location $dir
|
|
node "$env:GITHUB_WORKSPACE\packages\cli\dist\cli.js" init canary --example blank --non-interactive --skip-skills
|
|
Copy-Item "$env:GITHUB_WORKSPACE\.github\workflows\fixtures\windows-canary.html" "canary\index.html" -Force
|
|
- name: Install Chrome before watching
|
|
shell: pwsh
|
|
run: |
|
|
Set-Location "$env:RUNNER_TEMP\probe\canary"
|
|
node "$env:GITHUB_WORKSPACE\packages\cli\dist\cli.js" browser ensure
|
|
- name: Run the commands while watching for windows
|
|
shell: pwsh
|
|
run: .github/scripts/windows-window-probe.ps1 -Cli "$env:GITHUB_WORKSPACE\packages\cli\dist\cli.js" -Project "$env:RUNNER_TEMP\probe\canary"
|