update-chrome-binaries-test-region

Publish Remotion Lambda Chrome binaries to the eu-central-1 test region and update hosted layer references.

57.9k|4.4k|Updated Jun 23, 2020
One-click install
npx skills add https://github.com/remotion-dev/remotion --skill update-chrome-binaries-test-region
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: update-chrome-binaries-test-region
Source: https://github.com/remotion-dev/remotion/tree/main/.agents/skills/update-chrome-binaries-test-region
Command: npx skills add https://github.com/remotion-dev/remotion --skill update-chrome-binaries-test-region

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Updating Chrome binaries for Remotion Lambda requires publishing new Lambda layers, updating hosted layer references, and bumping Chrome version constants across multiple packages. This Skill automates the test-region rollout so the new Chrome build can be verified before a full multi-region release.

Core Features & Use Cases

  • Layer Publishing: Runs the make-layer-public.ts script to publish fonts, chromium, and emoji Lambda layers to eu-central-1.
  • Hosted Layer Sync: Copies the script's JSON output into packages/lambda/src/shared/hosted-layers.ts without manually editing version numbers.
  • Chrome Reference Updates: Updates TESTED_VERSION, PLAYWRIGHT_VERSION, download URLs, license strings, and documentation tables across the renderer, lambda, and docs packages.
  • Docker Verification: Runs the Docker matrix tests in packages/dockerfiles/ to validate the new Chrome binary before promoting to all regions.

Quick Start

Use the update-chrome-binaries-test-region skill to publish the new Chrome 149 binaries to eu-central-1 and update all version references.

Frequently Asked Questions about update-chrome-binaries-test-region

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I update Chrome binaries for Remotion Lambda?

Run `bun src/admin/make-layer-public.ts --region=eu-central-1` from `packages/lambda` after exporting AWS credentials, then copy the JSON output into `hosted-layers.ts` and update Chrome version constants in the renderer and docs packages.

What is the Playwright revision for a Chrome version?

Look up the Playwright revision in `microsoft/playwright/packages/playwright-core/browsers.json` by matching the `browserVersion` field against the Chrome version you are updating to.

Why does the html-in-canvas Docker test fail with HTML in Canvas is not supported?

The `html-in-canvas` runtime check requires Chrome 149+ with `--enable-features=CanvasDrawElement`. A failure alongside a passing `browser-test` typically indicates a Chrome version mismatch between the binary and the expected version.

Can I skip regions when publishing Lambda layers?

Yes, pass `--skip=<region>` to `make-layer-public.ts` to leave specific regions untouched. Skipped regions retain their previous layer versions until a subsequent rollout updates them.

How do I verify new Chrome binaries are uploaded before updating URLs?

Run `curl -sI` against the new hard-coded `chromium-headless-shell-amazon-linux-{arm64,x64}-<version>.zip` URLs and the templated `chromium-headless-shell-linux-{arm64,x64}-<version>.zip?clearcache` URLs. Continue only when all return HTTP 200.