From 49b1a85e772083a2b1f4b92b30f61661449a29c7 Mon Sep 17 00:00:00 2001 From: keyldev Date: Wed, 23 Sep 2026 14:26:50 +0300 Subject: [PATCH] fix(ci): pin FFmpeg n7.1 to the 2026-07-31 month-end BtbN release - Mid-month autobuild tags are pruned; 2026-08-16 now 404s on Linux/Windows - 2026-07-31 is the last retained tag that still ships n7.1 (n7.1.5-12) - SHA-256 updated for both assets, checked against BtbN checksums.sha256 --- tools/fetch-ffmpeg-linux.sh | 14 ++++++++------ tools/fetch-ffmpeg.ps1 | 13 ++++++++----- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/tools/fetch-ffmpeg-linux.sh b/tools/fetch-ffmpeg-linux.sh index f91ce5f..79c256d 100644 --- a/tools/fetch-ffmpeg-linux.sh +++ b/tools/fetch-ffmpeg-linux.sh @@ -19,9 +19,11 @@ # rather than the rolling `latest` tag. `latest` is rebuilt daily and # only keeps the branches BtbN currently builds: n7.1 was dropped from # it in August 2026 (only master / n8.1 / n9.0 remain), which 404'd this -# script and took CI down with it. A dated tag keeps its assets, and the -# SHA-256 below makes a silently swapped or truncated archive fail here -# instead of at runtime. +# script and took CI down with it. Only month-end dated tags are kept +# long-term (back to 2024); mid-month ones are pruned within weeks, which +# 404'd the previous 2026-08-16 pin. 2026-07-31 is the last month-end tag +# that still carries n7.1. The SHA-256 below makes a silently swapped or +# truncated archive fail here instead of at runtime. # Flavor: lgpl-shared (no GPL components; redistributable alongside the app as # long as the .so remain shared + replaceable — see README "Licensing"). set -euo pipefail @@ -29,9 +31,9 @@ set -euo pipefail # Overridable together: a different release/asset needs its own checksum, and # an empty EXPECTED_SHA256 skips the check (with a warning) rather than failing # every override. -FFMPEG_RELEASE="${FFMPEG_RELEASE:-autobuild-2026-08-16-13-00}" -ASSET_NAME="${ASSET_NAME:-ffmpeg-n7.1.5-16-g9a4bb2c579-linux64-lgpl-shared-7.1.tar.xz}" -EXPECTED_SHA256="${EXPECTED_SHA256-05e4cf57a4f8bb63bda8a1a306dbf370c03e305088e7153c02e7761b2c181ec0}" +FFMPEG_RELEASE="${FFMPEG_RELEASE:-autobuild-2026-07-31-14-10}" +ASSET_NAME="${ASSET_NAME:-ffmpeg-n7.1.5-12-g1fdbca85aa-linux64-lgpl-shared-7.1.tar.xz}" +EXPECTED_SHA256="${EXPECTED_SHA256-f5f0ad52c6ee28a222eb10838c231469a10ad325f84063d3bc0aadf08164b3ec}" FORCE="${FORCE:-0}" repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" diff --git a/tools/fetch-ffmpeg.ps1 b/tools/fetch-ffmpeg.ps1 index 0350e84..3c2fa7e 100644 --- a/tools/fetch-ffmpeg.ps1 +++ b/tools/fetch-ffmpeg.ps1 @@ -9,18 +9,21 @@ Version pin: n7.1 (matches FFmpeg.AutoGen 7.1.x bindings), taken from a dated release rather than the rolling `latest` tag - `latest` only keeps the branches BtbN currently builds, and n7.1 was dropped from it in August 2026 (master / - n8.1 / n9.0 remain), which 404'd this script. The SHA-256 below turns a swapped - or truncated archive into a failure here instead of at runtime. + n8.1 / n9.0 remain), which 404'd this script. Only month-end dated tags are + kept long-term; mid-month ones get pruned (that 404'd the 2026-08-16 pin), so + this uses 2026-07-31, the last month-end tag that still carries n7.1. The + SHA-256 below turns a swapped or truncated archive into a failure here + instead of at runtime. Build flavor: lgpl-shared (no GPL components; safe to redistribute alongside a closed-source app provided DLLs remain replaceable). #> [CmdletBinding()] param( - [string]$FfmpegRelease = "autobuild-2026-08-16-13-00", - [string]$AssetName = "ffmpeg-n7.1.5-16-g9a4bb2c579-win64-lgpl-shared-7.1.zip", + [string]$FfmpegRelease = "autobuild-2026-07-31-14-10", + [string]$AssetName = "ffmpeg-n7.1.5-12-g1fdbca85aa-win64-lgpl-shared-7.1.zip", # A different release/asset needs its own hash; pass an empty string to skip # the check rather than have every override fail. - [string]$ExpectedSha256 = "a950596cea0bf9766f169dae6f1e6eb623aa1ccfd2822cd20cd2874b120d4086", + [string]$ExpectedSha256 = "0f376f96fb38554ccefb1b2ae9c7c6a7b351f0e60a372b38262c320e8392c5d0", [switch]$Force )