
update-chrome-binaries-test-region
Publish Remotion Lambda Chrome binaries to the eu-central-1 test region and update hosted layer and Chrome version references. Use when updating Chrome binaries before full regional rollout.
- Installs
- 553
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/remotion-dev/remotion --skill update-chrome-binaries-test-region- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads update-chrome-binaries-test-region automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Update Chrome Binaries Test Region
AWS setup
- Confirm the AWS CLI is logged into account
678892195805by runningaws sts get-caller-identity. If not, ask the user to log in. - Export AWS credentials into the shell by running
eval "$(aws configure export-credentials --format env)". The Lambda client checks forAWS_ACCESS_KEY_IDand does not pick up SSO or Identity Center credentials on its own. - From
packages/lambda, runbun src/admin/make-layer-public.ts --region=eu-central-1to publish all 5 layers: fonts, chromium, emoji-apple, emoji-google, cjk. - The
evaland thebuncommand must run in the same shell invocation because the env vars do not persist across shell calls. - Verify the output prints a
LayerArnandVersionfor each of the 5 layers and a final JSON dump with the published regions populated.
Update hosted layers
Update packages/lambda/src/shared/hosted-layers.ts by copying the JSON dump from the script's stdout. Do not manually bump version numbers.
The script prints, after several blank lines, a complete HostedLayers object showing the exact layerArn and version AWS returned for every layer it just published. Replace the corresponding region entries in hosted-layers.ts with those values.
For the test phase (--region=eu-central-1), only eu-central-1 is updated; other regions intentionally stay on their old versions until rollout. If the script was invoked with --skip=<region>, leave skipped regions untouched.
Update Chrome references
Use the Chrome version supplied by the user, such as 157.0.8080.0. Default downloads no longer use a Playwright revision. Verify the same Chrome version is available for all supported platforms in Google's Chrome for Testing download metadata. If an exact match is unavailable, choose the closest available version and keep its version/cache marker accurate. Explicit numeric Playwright revision overrides on Linux ARM64 remain supported.
Update:
packages/renderer/src/browser/get-chrome-download-url.ts:TESTED_VERSION. The Remotion and Google CDN URLs use this version, including the Amazon Linux builds and Linux ARM64 fallbacks. Verify all five Remotion archives and both Google browser modes for Linux x64/ARM64, macOS x64/ARM64 and Windows x64. CheckBrowserFetcher.tsexecutable paths against the archive layout when changing providers.- Before changing URLs, verify the new binaries exist with
curl -sIagainst the new hard-coded URLs and the templatedchromium-headless-shell-linux-{arm64,x64}-<version>.zip?clearcacheURLs that followTESTED_VERSION. Continue only when all return HTTP 200; otherwise ask the user to upload the missing builds toremotion.media. packages/lambda/src/admin/make-layer-public.ts: theChromium <version>, compiled from source.license string passed toPublishLayerVersionCommand.packages/docs/docs/lambda/runtime.mdx: prepend a new row to the "Chrome" version table for the next Remotion release. Determine the next version frompackages/core/package.jsonand increment the patch.packages/docs/docs/miscellaneous/chrome-headless-shell.mdx: prepend a new row to the version table and update the example version string in the "Version tracking" section.packages/docs/docs/renderer/ensure-browser.mdx: update bothversion: '<old>'occurrences in example code blocks.
Docker verification
Run the Docker matrix tests in packages/dockerfiles/ with ./run.sh against the new Chrome binary. Make sure Docker Desktop is running first.
The tests render:
browser-test: Three.js, WebGL, and codec smoke test.html-in-canvas: experimental WICGdrawElementImage()andcanvas.requestPaint()APIs.
Outputs land in packages/dockerfiles/out/<platform>.mp4 and packages/dockerfiles/out/<platform>-html-in-canvas.mp4.
The Dockerfiles install the local workspace build of @remotion/cli plus transitive deps, not the published version. Source changes in @remotion/renderer are picked up before publishing. run.sh runs pack-cli.ts, which walks @remotion/cli transitive workspace:* deps, runs bun pm pack for each into packages/dockerfiles/tarballs/, and emits local-cli-package.json with every tarball as a direct dependency and override.
If a new composition is added to the Docker test matrix, register it in packages/example/src/BrowserTestRoot.tsx and add a corresponding RUN remotion render /usr/app/bundle <id> /usr/app/<filename>.mp4 line plus docker cp extraction in run.sh.
The <HtmlInCanvas> runtime check in packages/core/src/HtmlInCanvas.tsx requires ctx.drawElementImage, canvas.requestPaint, canvas.captureElementImage, and transferControlToOffscreen, which Chrome 149+ exposes when --enable-features=CanvasDrawElement is passed. If html-in-canvas renders fail with "HTML in Canvas is not supported" while browser-test passes, the most likely cause is a Chrome version mismatch.
Do not proceed to publishing all regions until the test region has been verified end-to-end.
FAQ
What does the update-chrome-binaries-test-region skill do?
Publish Remotion Lambda Chrome binaries to the eu-central-1 test region and update hosted layer and Chrome version references. Use when updating Chrome binaries before full regional rollout.
How do I install update-chrome-binaries-test-region?
Run npx skills add https://github.com/remotion-dev/remotion --skill update-chrome-binaries-test-region in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/update-chrome-binaries-test-region/ (personal) or .claude/skills/update-chrome-binaries-test-region/ (project).
Which AI agents can use update-chrome-binaries-test-region?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is update-chrome-binaries-test-region safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains update-chrome-binaries-test-region?
It is published by remotion-dev in remotion-dev/remotion. It has 553 recorded installs.
More from remotion-dev/remotion
web-renderer-test
remotion-dev/remotion
Add explicitly requested web renderer tests or update existing ones for implementation changes.
writing-docs
remotion-dev/remotion
Guides for writing and editing Remotion documentation. Use when adding docs pages, editing MDX files in packages/docs, or writing documentation content.
video-report
remotion-dev/remotion
Generate a report about a video
add-sfx
remotion-dev/remotion
Add a new sound effect to @remotion/sfx
docs-demo
remotion-dev/remotion
Add an interactive demo to the Remotion documentation. Use when creating a new component for docs pages.
add-expert
remotion-dev/remotion
Add a new expert to the Remotion experts page
Popular testing & qa skills
tdd
mattpocock/skills
Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
grilling
mattpocock/skills
Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.
migrate-to-shoehorn
mattpocock/skills
Migrate test files from as type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace as in tests, or needs partial test data.
run-train
lllllllama/rigorpilot-skills
Rigor Train skill for deep learning research repositories. Use when a documented or selected training command should be run conservatively for startup verification, short-run verification, full kickoff, or resume, with command, config, seed, log, checkpoint, status, and metric evidence written to standardized trainoutputs/. Do not use for environment setup, exploratory sweeps, speculative idea implementation, or end-to-end orchestration.
test-driven-development
obra/superpowers
Use when implementing any feature or bugfix, before writing implementation code
finishing-a-development-branch
obra/superpowers
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work