diff --git a/Dockerfile.test b/Dockerfile.test index 2c44fba10eb..c81a9f3a8ce 100644 --- a/Dockerfile.test +++ b/Dockerfile.test @@ -80,7 +80,7 @@ ENV CONTAINER=true # baselines in packages/producer/tests/*/output/output.mp4 stay reproducible. # Each Chrome stable bump shifts pixel output enough to fail PSNR. Bump this # version together with regenerating baselines via `docker:test:update`. -RUN npx --yes @puppeteer/browsers install chrome-headless-shell@148.0.7778.167 \ +RUN npx --yes @puppeteer/browsers install chrome-headless-shell@152.0.7977.30 \ --path /root/.cache/puppeteer \ && find /root/.cache/puppeteer/chrome-headless-shell -name "chrome-headless-shell" -type f \ && echo "chrome-headless-shell installed" diff --git a/docs/deploy/gcp-cloud-run.mdx b/docs/deploy/gcp-cloud-run.mdx index 72f655aa59d..d651fb7bad6 100644 --- a/docs/deploy/gcp-cloud-run.mdx +++ b/docs/deploy/gcp-cloud-run.mdx @@ -31,6 +31,11 @@ The CLI can build the renderer automatically when it runs from a HyperFrames repository checkout. Outside the repository, pass an image built from `packages/gcp-cloud-run/Dockerfile` with `--image`. +The renderer image uses Chrome 152, matching the CLI's managed browser, so +gradient text inside transformed child elements also renders in Cloud Run. +Existing deployments need a rebuilt image and a new deployment to receive +the browser update. + ## Deploy ```bash diff --git a/packages/gcp-cloud-run/Dockerfile b/packages/gcp-cloud-run/Dockerfile index 65fe7180a66..db92bdbc6c2 100644 --- a/packages/gcp-cloud-run/Dockerfile +++ b/packages/gcp-cloud-run/Dockerfile @@ -80,7 +80,7 @@ RUN case "$TARGETARCH" in \ # Pinned deliberately. The build-stage contract probe below launches this # exact executable and requires a renderer-ready warm-up plus a PNG-returning # HeadlessExperimental.beginFrame before the image can build. -RUN npx --yes @puppeteer/browsers install chrome-headless-shell@148.0.7778.167 \ +RUN npx --yes @puppeteer/browsers install chrome-headless-shell@152.0.7977.30 \ --path /opt/puppeteer \ && CHS="$(find /opt/puppeteer/chrome-headless-shell -name chrome-headless-shell -type f | head -n1)" \ && mkdir -p /opt/chrome \ diff --git a/packages/producer/tests/chat/output/output.mp4 b/packages/producer/tests/chat/output/output.mp4 index c7c91869356..e687924caab 100644 --- a/packages/producer/tests/chat/output/output.mp4 +++ b/packages/producer/tests/chat/output/output.mp4 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ed03727bbc23262eeec9467f17fc7dff387f2c788e788329be63caffdb2961f6 -size 1315820 +oid sha256:46e92d822f05287d87572ddc50230dba2f10c047a4f8f0c5fd3ad26a7df01170 +size 2150310 diff --git a/packages/producer/tests/gradient-text-layered-child/meta.json b/packages/producer/tests/gradient-text-layered-child/meta.json new file mode 100644 index 00000000000..51f56ed93ea --- /dev/null +++ b/packages/producer/tests/gradient-text-layered-child/meta.json @@ -0,0 +1,14 @@ +{ + "name": "Gradient text inside a transformed child", + "description": "Both direct text and a child with its own paint layer must contribute glyphs to a background-clip: text gradient mask.", + "tags": ["regression", "css", "text"], + "minPsnr": 40, + "maxFrameFailures": 0, + "minAudioCorrelation": 0, + "maxAudioLagWindows": 1, + "renderConfig": { + "fps": 24, + "workers": 1, + "captureMode": "beginframe" + } +} diff --git a/packages/producer/tests/gradient-text-layered-child/output/compiled.html b/packages/producer/tests/gradient-text-layered-child/output/compiled.html new file mode 100644 index 00000000000..00d89c5a939 --- /dev/null +++ b/packages/producer/tests/gradient-text-layered-child/output/compiled.html @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8055e7dc3cc2ceb108b5336ed7dc20f76ae24677548ece73e6bf6b9f1213c460 +size 2468 diff --git a/packages/producer/tests/gradient-text-layered-child/output/output.mp4 b/packages/producer/tests/gradient-text-layered-child/output/output.mp4 new file mode 100644 index 00000000000..71f60fffb22 --- /dev/null +++ b/packages/producer/tests/gradient-text-layered-child/output/output.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:570ed3a8bfae537da98ea6fb0c0284359827dbbc5e9e8398f2bcfe6f8091b8e0 +size 43807 diff --git a/packages/producer/tests/gradient-text-layered-child/src/compositions/gradient.html b/packages/producer/tests/gradient-text-layered-child/src/compositions/gradient.html new file mode 100644 index 00000000000..6b2f783f6d3 --- /dev/null +++ b/packages/producer/tests/gradient-text-layered-child/src/compositions/gradient.html @@ -0,0 +1,63 @@ + + + + + Direct and layered gradient text + + + +
+
Gradient text
+
Gradient text
+
+ + diff --git a/packages/producer/tests/gradient-text-layered-child/src/index.html b/packages/producer/tests/gradient-text-layered-child/src/index.html new file mode 100644 index 00000000000..8fe762b1273 --- /dev/null +++ b/packages/producer/tests/gradient-text-layered-child/src/index.html @@ -0,0 +1,37 @@ + + + + + Gradient text paint layers + + + +
+
+
+ + diff --git a/packages/producer/tests/shard-schedule.json b/packages/producer/tests/shard-schedule.json index 8f785160df9..8bad70d38e4 100644 --- a/packages/producer/tests/shard-schedule.json +++ b/packages/producer/tests/shard-schedule.json @@ -58,6 +58,7 @@ "style-7-prod": 100, "style-8-prod": 94, "style-9-prod": 71, + "gradient-text-layered-child": 6, "subcomp-bare-fragment": 3, "sub-comp-id-selector": 8, "sub-comp-t0": 12,