From f20697d8c09fbad43dc8e4e702e6fabe78db4f80 Mon Sep 17 00:00:00 2001 From: rgarcia <72655+rgarcia@users.noreply.github.com> Date: Tue, 18 Aug 2026 15:12:08 +0000 Subject: [PATCH 1/4] Upgrade Chromium to 152.0.7977.42 --- images/chromium-headful/Dockerfile | 2 +- images/chromium-headless/image/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/images/chromium-headful/Dockerfile b/images/chromium-headful/Dockerfile index a521ba36e..372172172 100644 --- a/images/chromium-headful/Dockerfile +++ b/images/chromium-headful/Dockerfile @@ -284,7 +284,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=$CACHEIDPREFIX-ap libxext6 libxfixes3 libxkbcommon0; # Install Chrome + ChromeDriver as a matched pair from chrome-for-testing so they cannot drift apart. -ARG CHROME_VERSION=148.0.7778.97 +ARG CHROME_VERSION=152.0.7977.42 RUN set -eux; \ curl -fsSL "https://storage.googleapis.com/chrome-for-testing-public/${CHROME_VERSION}/linux64/chrome-linux64.zip" -o /tmp/chrome.zip; \ curl -fsSL "https://storage.googleapis.com/chrome-for-testing-public/${CHROME_VERSION}/linux64/chromedriver-linux64.zip" -o /tmp/cd.zip; \ diff --git a/images/chromium-headless/image/Dockerfile b/images/chromium-headless/image/Dockerfile index 12a1fa184..4d144b631 100644 --- a/images/chromium-headless/image/Dockerfile +++ b/images/chromium-headless/image/Dockerfile @@ -166,7 +166,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=$CACHEIDPREFIX-ap apt-get --no-install-recommends -y install sqlite3 unzip; # Install Chrome + ChromeDriver as a matched pair from chrome-for-testing so they cannot drift apart. -ARG CHROME_VERSION=148.0.7778.97 +ARG CHROME_VERSION=152.0.7977.42 RUN set -eux; \ curl -fsSL "https://storage.googleapis.com/chrome-for-testing-public/${CHROME_VERSION}/linux64/chrome-linux64.zip" -o /tmp/chrome.zip; \ curl -fsSL "https://storage.googleapis.com/chrome-for-testing-public/${CHROME_VERSION}/linux64/chromedriver-linux64.zip" -o /tmp/cd.zip; \ From c3cb80c8db136feed502a3b63dc877b1981b132c Mon Sep 17 00:00:00 2001 From: rgarcia <72655+rgarcia@users.noreply.github.com> Date: Tue, 18 Aug 2026 15:27:11 +0000 Subject: [PATCH 2/4] Pin available FFmpeg build archives --- images/chromium-headful/Dockerfile | 11 +++++++---- images/chromium-headless/image/Dockerfile | 11 +++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/images/chromium-headful/Dockerfile b/images/chromium-headful/Dockerfile index 372172172..dda195865 100644 --- a/images/chromium-headful/Dockerfile +++ b/images/chromium-headful/Dockerfile @@ -107,24 +107,27 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=$CACHEIDPREFIX-ap apt-get -yqq update; \ apt-get -yqq --no-install-recommends install ca-certificates curl xz-utils; -# Download FFmpeg (latest static build) for the recording server +# Download a pinned FFmpeg static build for the recording server RUN --mount=type=cache,target=/tmp/cache/ffmpeg,sharing=locked,id=$CACHEIDPREFIX-ffmpeg \ <<-'EOT' set -eux FFMPEG_CACHE_PATH="/tmp/cache/ffmpeg" + FFMPEG_RELEASE="autobuild-2026-08-18-15-03" + FFMPEG_VERSION="n8.1.2-44-g7c533d0f86" case ${TARGETARCH:-amd64} in "amd64") FFMPEG_TARGET_ARCH="64" ;; "arm64") FFMPEG_TARGET_ARCH="arm64" ;; esac FFMPEG_TARGET=linux${FFMPEG_TARGET_ARCH:?} - ARCHIVE_NAME="ffmpeg-n7.1-latest-${FFMPEG_TARGET}-gpl-7.1.tar.xz" + ARCHIVE_NAME="ffmpeg-${FFMPEG_VERSION}-${FFMPEG_TARGET}-gpl-8.1.tar.xz" FFMPEG_CACHED_ARCHIVE_PATH="$FFMPEG_CACHE_PATH/$ARCHIVE_NAME" FFMPEG_CACHED_ARCHIVE_CHECKSUM_PATH="$FFMPEG_CACHED_ARCHIVE_PATH.sha256" - URL="https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/$ARCHIVE_NAME" + RELEASE_URL="https://github.com/BtbN/FFmpeg-Builds/releases/download/$FFMPEG_RELEASE" + URL="$RELEASE_URL/$ARCHIVE_NAME" TEMPORARY_SHA256_CHECKSUM_PATH=$(mktemp /tmp/tmp_sha256.XXXXXXXXXX) CONTINUE="true" echo "Downloading FFmpeg checksum" - if curl --connect-timeout 10 -fsSL "https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/checksums.sha256" -o $TEMPORARY_SHA256_CHECKSUM_PATH; then + if curl --connect-timeout 10 -fsSL "$RELEASE_URL/checksums.sha256" -o $TEMPORARY_SHA256_CHECKSUM_PATH; then grep -F "$ARCHIVE_NAME" $TEMPORARY_SHA256_CHECKSUM_PATH > $FFMPEG_CACHED_ARCHIVE_CHECKSUM_PATH else echo "Failed to connect to ffmpeg static build provider for checksum." diff --git a/images/chromium-headless/image/Dockerfile b/images/chromium-headless/image/Dockerfile index 4d144b631..20592a6e7 100644 --- a/images/chromium-headless/image/Dockerfile +++ b/images/chromium-headless/image/Dockerfile @@ -55,24 +55,27 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=$CACHEIDPREFIX-ap apt-get -yqq update; \ apt-get -yqq --no-install-recommends install ca-certificates curl xz-utils; -# Download FFmpeg (latest static build) for the recording server +# Download a pinned FFmpeg static build for the recording server RUN --mount=type=cache,target=/tmp/cache/ffmpeg,sharing=locked,id=$CACHEIDPREFIX-ffmpeg \ <<-'EOT' set -eux FFMPEG_CACHE_PATH="/tmp/cache/ffmpeg" + FFMPEG_RELEASE="autobuild-2026-08-18-15-03" + FFMPEG_VERSION="n8.1.2-44-g7c533d0f86" case ${TARGETARCH:-amd64} in "amd64") FFMPEG_TARGET_ARCH="64" ;; "arm64") FFMPEG_TARGET_ARCH="arm64" ;; esac FFMPEG_TARGET=linux${FFMPEG_TARGET_ARCH:?} - ARCHIVE_NAME="ffmpeg-n7.1-latest-${FFMPEG_TARGET}-gpl-7.1.tar.xz" + ARCHIVE_NAME="ffmpeg-${FFMPEG_VERSION}-${FFMPEG_TARGET}-gpl-8.1.tar.xz" FFMPEG_CACHED_ARCHIVE_PATH="$FFMPEG_CACHE_PATH/$ARCHIVE_NAME" FFMPEG_CACHED_ARCHIVE_CHECKSUM_PATH="$FFMPEG_CACHED_ARCHIVE_PATH.sha256" - URL="https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/$ARCHIVE_NAME" + RELEASE_URL="https://github.com/BtbN/FFmpeg-Builds/releases/download/$FFMPEG_RELEASE" + URL="$RELEASE_URL/$ARCHIVE_NAME" TEMPORARY_SHA256_CHECKSUM_PATH=$(mktemp /tmp/tmp_sha256.XXXXXXXXXX) CONTINUE="true" echo "Downloading FFmpeg checksum" - if curl --connect-timeout 10 -fsSL "https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/checksums.sha256" -o $TEMPORARY_SHA256_CHECKSUM_PATH; then + if curl --connect-timeout 10 -fsSL "$RELEASE_URL/checksums.sha256" -o $TEMPORARY_SHA256_CHECKSUM_PATH; then grep -F "$ARCHIVE_NAME" $TEMPORARY_SHA256_CHECKSUM_PATH > $FFMPEG_CACHED_ARCHIVE_CHECKSUM_PATH else echo "Failed to connect to ffmpeg static build provider for checksum." From 1046edef611a3a2b227543ce2e473032df06b33f Mon Sep 17 00:00:00 2001 From: rgarcia <72655+rgarcia@users.noreply.github.com> Date: Tue, 18 Aug 2026 15:38:38 +0000 Subject: [PATCH 3/4] Keep FFmpeg on pinned 7.1 build --- images/chromium-headful/Dockerfile | 6 +++--- images/chromium-headless/image/Dockerfile | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/images/chromium-headful/Dockerfile b/images/chromium-headful/Dockerfile index dda195865..8d16ed181 100644 --- a/images/chromium-headful/Dockerfile +++ b/images/chromium-headful/Dockerfile @@ -112,14 +112,14 @@ RUN --mount=type=cache,target=/tmp/cache/ffmpeg,sharing=locked,id=$CACHEIDPREFIX <<-'EOT' set -eux FFMPEG_CACHE_PATH="/tmp/cache/ffmpeg" - FFMPEG_RELEASE="autobuild-2026-08-18-15-03" - FFMPEG_VERSION="n8.1.2-44-g7c533d0f86" + FFMPEG_RELEASE="autobuild-2026-08-16-13-00" + FFMPEG_VERSION="n7.1.5-16-g9a4bb2c579" case ${TARGETARCH:-amd64} in "amd64") FFMPEG_TARGET_ARCH="64" ;; "arm64") FFMPEG_TARGET_ARCH="arm64" ;; esac FFMPEG_TARGET=linux${FFMPEG_TARGET_ARCH:?} - ARCHIVE_NAME="ffmpeg-${FFMPEG_VERSION}-${FFMPEG_TARGET}-gpl-8.1.tar.xz" + ARCHIVE_NAME="ffmpeg-${FFMPEG_VERSION}-${FFMPEG_TARGET}-gpl-7.1.tar.xz" FFMPEG_CACHED_ARCHIVE_PATH="$FFMPEG_CACHE_PATH/$ARCHIVE_NAME" FFMPEG_CACHED_ARCHIVE_CHECKSUM_PATH="$FFMPEG_CACHED_ARCHIVE_PATH.sha256" RELEASE_URL="https://github.com/BtbN/FFmpeg-Builds/releases/download/$FFMPEG_RELEASE" diff --git a/images/chromium-headless/image/Dockerfile b/images/chromium-headless/image/Dockerfile index 20592a6e7..c7cfb34eb 100644 --- a/images/chromium-headless/image/Dockerfile +++ b/images/chromium-headless/image/Dockerfile @@ -60,14 +60,14 @@ RUN --mount=type=cache,target=/tmp/cache/ffmpeg,sharing=locked,id=$CACHEIDPREFIX <<-'EOT' set -eux FFMPEG_CACHE_PATH="/tmp/cache/ffmpeg" - FFMPEG_RELEASE="autobuild-2026-08-18-15-03" - FFMPEG_VERSION="n8.1.2-44-g7c533d0f86" + FFMPEG_RELEASE="autobuild-2026-08-16-13-00" + FFMPEG_VERSION="n7.1.5-16-g9a4bb2c579" case ${TARGETARCH:-amd64} in "amd64") FFMPEG_TARGET_ARCH="64" ;; "arm64") FFMPEG_TARGET_ARCH="arm64" ;; esac FFMPEG_TARGET=linux${FFMPEG_TARGET_ARCH:?} - ARCHIVE_NAME="ffmpeg-${FFMPEG_VERSION}-${FFMPEG_TARGET}-gpl-8.1.tar.xz" + ARCHIVE_NAME="ffmpeg-${FFMPEG_VERSION}-${FFMPEG_TARGET}-gpl-7.1.tar.xz" FFMPEG_CACHED_ARCHIVE_PATH="$FFMPEG_CACHE_PATH/$ARCHIVE_NAME" FFMPEG_CACHED_ARCHIVE_CHECKSUM_PATH="$FFMPEG_CACHED_ARCHIVE_PATH.sha256" RELEASE_URL="https://github.com/BtbN/FFmpeg-Builds/releases/download/$FFMPEG_RELEASE" From 8084bc06ca74e78eee1137c0495342f1a9c29990 Mon Sep 17 00:00:00 2001 From: rgarcia <72655+rgarcia@users.noreply.github.com> Date: Tue, 18 Aug 2026 15:48:25 +0000 Subject: [PATCH 4/4] Use retained FFmpeg 7.1 release --- images/chromium-headful/Dockerfile | 4 ++-- images/chromium-headless/image/Dockerfile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/images/chromium-headful/Dockerfile b/images/chromium-headful/Dockerfile index 8d16ed181..575862966 100644 --- a/images/chromium-headful/Dockerfile +++ b/images/chromium-headful/Dockerfile @@ -112,8 +112,8 @@ RUN --mount=type=cache,target=/tmp/cache/ffmpeg,sharing=locked,id=$CACHEIDPREFIX <<-'EOT' set -eux FFMPEG_CACHE_PATH="/tmp/cache/ffmpeg" - FFMPEG_RELEASE="autobuild-2026-08-16-13-00" - FFMPEG_VERSION="n7.1.5-16-g9a4bb2c579" + FFMPEG_RELEASE="autobuild-2026-07-31-14-10" + FFMPEG_VERSION="n7.1.5-12-g1fdbca85aa" case ${TARGETARCH:-amd64} in "amd64") FFMPEG_TARGET_ARCH="64" ;; "arm64") FFMPEG_TARGET_ARCH="arm64" ;; diff --git a/images/chromium-headless/image/Dockerfile b/images/chromium-headless/image/Dockerfile index c7cfb34eb..fad700993 100644 --- a/images/chromium-headless/image/Dockerfile +++ b/images/chromium-headless/image/Dockerfile @@ -60,8 +60,8 @@ RUN --mount=type=cache,target=/tmp/cache/ffmpeg,sharing=locked,id=$CACHEIDPREFIX <<-'EOT' set -eux FFMPEG_CACHE_PATH="/tmp/cache/ffmpeg" - FFMPEG_RELEASE="autobuild-2026-08-16-13-00" - FFMPEG_VERSION="n7.1.5-16-g9a4bb2c579" + FFMPEG_RELEASE="autobuild-2026-07-31-14-10" + FFMPEG_VERSION="n7.1.5-12-g1fdbca85aa" case ${TARGETARCH:-amd64} in "amd64") FFMPEG_TARGET_ARCH="64" ;; "arm64") FFMPEG_TARGET_ARCH="arm64" ;;