Skip to content

chore(ci): drop 32-bit Windows and move vendored libmpv back to zhongfly - #690

Merged
Lolle2000la merged 1 commit into
v3.0from
chore/retire-mpv-winbuild-fork
Oct 11, 2026
Merged

Lolle2000la merged 1 commit into
v3.0from
chore/retire-mpv-winbuild-fork

Conversation

@Lolle2000la

Copy link
Copy Markdown
Owner

Why

The self-hosted Lolle2000la/mpv-winbuild fork existed for exactly two things zhongfly/mpv-winbuild doesn't provide:

  1. 32-bit (i686) libmpv/ffmpeg — zhongfly publishes x86_64 + aarch64 only (its README: fork it yourself for 32-bit).
  2. Long-lived, pinnable release tags — zhongfly retains only the last 30 days of builds, so a pinned MPV_WINBUILD_TAG would be pruned and break release builds.

It was not created for ARM: zhongfly has shipped aarch64 since Sep 2024 (commit dabe61cf), and our aarch64 builds already used it when we first switched to zhongfly. So "zhongfly now supports ARM" doesn't change the calculus — dropping 32-bit Windows does.

With win-x86 gone, reason (1) disappears, and reason (2) is handled by resolving zhongfly's latest tag at runtime. That lets us retire the fork and its maintenance load (LLVM/lld lockstep, curl patches, upstream merges).

Changes

  • release.yml: drop the win-x86 (i686-pc-windows-msvc) matrix entry (Windows targets are now win-x64 + win-arm64).
  • release.yml / ci.yml: download libmpv/ffmpeg from zhongfly/mpv-winbuild again, resolving its latest release tag at runtime.
  • Delete bump-mpv-winbuild.yml and all MPV_WINBUILD_TAG pin plumbing. (A repo variable of that name, if it still exists, is now ignored.)
  • Enable the avif-native image feature unconditionally — the target-conditional exception only existed because i686 can't drive dav1d-sys's vendored meson build.
  • website: drop the Windows (x86) download entries.
  • AGENTS.md: update the docs (return to zhongfly, dropped platform, AVIF notes).

Notes / trade-offs

  • Existing win-x86 installs stop receiving updates after the next release (their velopack channel no longer exists).
  • Release builds now follow zhongfly's latest build, so they are not reproducible across time. If that becomes important, the fix is mirroring the artifacts into our own release rather than maintaining a build fork.
  • Lolle2000la/mpv-winbuild becomes unused and can be archived.

Verification

  • cargo check -p media-sort-backend -p benchmarks ✅ (confirms unconditional avif-native resolves)
  • cargo fmt --all -- --check ✅
  • Both workflow files parse as valid YAML ✅

The self-hosted mpv-winbuild fork only existed to provide i686 libmpv
and long-lived pinnable tags. Dropping 32-bit Windows makes both
reasons moot, so retire the fork and its maintenance load.

- release.yml: remove the win-x86 (i686-pc-windows-msvc) matrix entry
- release.yml/ci.yml: download libmpv/ffmpeg from zhongfly/mpv-winbuild
  again, resolving its latest release tag at runtime (it keeps only the
  last 30 days of builds, so a pinned tag would be pruned)
- delete the now-obsolete bump-mpv-winbuild workflow and the
  MPV_WINBUILD_TAG pin/variable plumbing
- enable the `avif-native` image feature unconditionally: the
  target-conditional exception only existed because i686 cannot drive
  dav1d-sys's vendored meson build
- website: drop the Windows (x86) download entries
- AGENTS.md: document the return to zhongfly and the dropped platform
@Lolle2000la
Lolle2000la merged commit 8d32814 into v3.0 Oct 11, 2026
5 checks passed
@Lolle2000la
Lolle2000la deleted the chore/retire-mpv-winbuild-fork branch October 11, 2026 20:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant