From 609f9121dbf994c4835a200a2cacbb82ebc035f8 Mon Sep 17 00:00:00 2001 From: Joseph <162703152+josephnef@users.noreply.github.com> Date: Fri, 16 Oct 2026 12:33:14 +0300 Subject: [PATCH] ci: build-mingw on UCRT64 MSYS2 deprecated the MINGW64 environment and its package database no longer carries libusb: the job has failed on every run since with pacman "target not found: mingw-w64-x86_64-libusb" (the package file is still on the mirror, the mingw64.db no longer lists it). The UCRT64 database ships every package the job installs at the same versions (gcc 16.2.0, cmake 4.4.4, ninja 1.13.2, libusb 1.0.30, pkgconf 3.0.8, openssl 3.6.5). Same compiler, same pkg-config libusb path, same binary-stdin and station-crypto coverage. Co-Authored-By: Claude Fable 5.1 --- .github/workflows/cmake-multi-platform.yml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/workflows/cmake-multi-platform.yml b/.github/workflows/cmake-multi-platform.yml index 9b04cb42..446332a9 100644 --- a/.github/workflows/cmake-multi-platform.yml +++ b/.github/workflows/cmake-multi-platform.yml @@ -142,15 +142,19 @@ jobs: - name: Set up MSYS2 / mingw-w64 uses: msys2/setup-msys2@v2 with: - msystem: MINGW64 + # UCRT64, not MINGW64: MSYS2 deprecated the MINGW64 environment and + # its package database stopped carrying libusb (pacman: "target not + # found: mingw-w64-x86_64-libusb"), while UCRT64 ships every package + # below at the same versions. Still gcc, still pkg-config libusb. + msystem: UCRT64 update: true install: >- - mingw-w64-x86_64-gcc - mingw-w64-x86_64-cmake - mingw-w64-x86_64-ninja - mingw-w64-x86_64-libusb - mingw-w64-x86_64-pkgconf - mingw-w64-x86_64-openssl + mingw-w64-ucrt-x86_64-gcc + mingw-w64-ucrt-x86_64-cmake + mingw-w64-ucrt-x86_64-ninja + mingw-w64-ucrt-x86_64-libusb + mingw-w64-ucrt-x86_64-pkgconf + mingw-w64-ucrt-x86_64-openssl - name: Configure CMake (mingw, pkg-config libusb, no vcpkg) # VCPKG_ROOT is unset, so CMakeLists takes the pkg-config path — the