ci(runner-e2e): install Playwright FFmpeg on AWS
This commit is contained in:
parent
af3023f1e3
commit
33425f79d3
|
|
@ -923,6 +923,21 @@ jobs:
|
|||
test -x "$chrome_path"
|
||||
google-chrome --version
|
||||
|
||||
- name: Install Playwright FFmpeg on AWS runner
|
||||
if: needs.authorize.outputs.playwright_channel == 'chrome'
|
||||
run: |
|
||||
set -euo pipefail
|
||||
for attempt in 1 2 3; do
|
||||
if pnpm exec playwright install ffmpeg; then
|
||||
exit 0
|
||||
fi
|
||||
if [ "$attempt" -eq 3 ]; then
|
||||
echo "Playwright FFmpeg installation failed after $attempt attempts." >&2
|
||||
exit 1
|
||||
fi
|
||||
sleep "$((attempt * 10))"
|
||||
done
|
||||
|
||||
- name: Install Chromium headless shell on GitHub-hosted fallback
|
||||
if: needs.authorize.outputs.playwright_channel != 'chrome'
|
||||
run: |
|
||||
|
|
|
|||
|
|
@ -251,6 +251,9 @@ describe("public repository paid workflow security", () => {
|
|||
"if: needs.authorize.outputs.playwright_channel == 'chrome'",
|
||||
);
|
||||
expect(paidJob).toContain("google-chrome --version");
|
||||
expect(paidJob).toMatch(
|
||||
/- name: Install Playwright FFmpeg on AWS runner\n\s+if: needs\.authorize\.outputs\.playwright_channel == 'chrome'[\s\S]*pnpm exec playwright install ffmpeg/,
|
||||
);
|
||||
expect(paidJob).toContain(
|
||||
"if: needs.authorize.outputs.playwright_channel != 'chrome'",
|
||||
);
|
||||
|
|
@ -266,9 +269,14 @@ describe("public repository paid workflow security", () => {
|
|||
const daytonaPluginPreparation = paidJob.indexOf(
|
||||
"Prepare bundled Daytona plugin without dependency lifecycle scripts",
|
||||
);
|
||||
const awsFfmpegInstall = paidJob.indexOf(
|
||||
"- name: Install Playwright FFmpeg on AWS runner",
|
||||
);
|
||||
const paidExecution = paidJob.indexOf("- name: Run paid cell");
|
||||
expect(paidInstall).toBeGreaterThan(0);
|
||||
expect(daytonaPluginPreparation).toBeGreaterThan(paidInstall);
|
||||
expect(awsFfmpegInstall).toBeGreaterThan(daytonaPluginPreparation);
|
||||
expect(paidExecution).toBeGreaterThan(awsFfmpegInstall);
|
||||
expect(paidExecution).toBeGreaterThan(daytonaPluginPreparation);
|
||||
const preparedBeforeProviderAccess = paidJob.slice(
|
||||
daytonaPluginPreparation,
|
||||
|
|
|
|||
Loading…
Reference in New Issue