From add51f85c20333a6f3fbd736482f20da4ae9f9f2 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Wed, 25 Mar 2026 18:37:01 +0100
Subject: [PATCH] ci: clang-tools-extra is no longer available for mingw32
mingw32 and mingw64 are in the process of being deprecated
(cherry picked from commit be6f1efa26d9104b679ec8e112e15898d48c21f0)
---
.github/workflows/create-test-plan.py | 25 +++++++++++++++++--------
.github/workflows/generic.yml | 10 +---------
2 files changed, 18 insertions(+), 17 deletions(-)
diff --git a/.github/workflows/create-test-plan.py b/.github/workflows/create-test-plan.py
index ceae8dfa9a74f..d97666792849c 100755
--- a/.github/workflows/create-test-plan.py
+++ b/.github/workflows/create-test-plan.py
@@ -212,8 +212,7 @@ class JobDetails:
minidump: bool = False
intel: bool = False
msys2_msystem: str = ""
- msys2_env: str = ""
- msys2_no_perl: bool = False
+ msys2_packages: list[str] = dataclasses.field(default_factory=list)
werror: bool = True
msvc_vcvars_arch: str = ""
msvc_vcvars_sdk: str = ""
@@ -248,8 +247,7 @@ def to_workflow(self, enable_artifacts: bool) -> dict[str, str|bool]:
"enable-artifacts": enable_artifacts,
"shell": self.shell,
"msys2-msystem": self.msys2_msystem,
- "msys2-env": self.msys2_env,
- "msys2-no-perl": self.msys2_no_perl,
+ "msys2-packages": my_shlex_join(self.msys2_packages),
"android-ndk": self.android_ndk,
"java": self.java,
"intel": self.intel,
@@ -737,15 +735,26 @@ def spec_to_job(spec: JobSpec, key: str, trackmem_symbol_names: bool) -> JobDeta
job.shell = "msys2 {0}"
assert spec.msys2_platform
job.msys2_msystem = spec.msys2_platform.value
- job.msys2_env = {
+ job.shared_lib = SharedLibType.WIN32
+ job.static_lib = StaticLibType.A
+ msys2_env = {
"mingw32": "mingw-w64-i686",
"mingw64": "mingw-w64-x86_64",
"clang64": "mingw-w64-clang-x86_64",
"ucrt64": "mingw-w64-ucrt-x86_64",
}[spec.msys2_platform.value]
- job.msys2_no_perl = spec.msys2_platform in (Msys2Platform.Mingw32, )
- job.shared_lib = SharedLibType.WIN32
- job.static_lib = StaticLibType.A
+ job.msys2_packages.extend([
+ f"{msys2_env}-cc",
+ f"{msys2_env}-cmake",
+ f"{msys2_env}-ffmpeg",
+ f"{msys2_env}-ninja",
+ f"{msys2_env}-pkg-config",
+ ])
+ if spec.msys2_platform not in (Msys2Platform.Mingw32, ):
+ job.msys2_packages.append(f"{msys2_env}-perl")
+ job.msys2_packages.append(f"{msys2_env}-clang-tools-extra")
+ if job.ccache:
+ job.msys2_packages.append(f"{msys2_env}-ccache")
case SdlPlatform.Riscos:
job.ccache = False # FIXME: enable when container gets upgrade
# FIXME: Enable SDL_WERROR
diff --git a/.github/workflows/generic.yml b/.github/workflows/generic.yml
index f38a903c90ca1..19cf4910eef35 100644
--- a/.github/workflows/generic.yml
+++ b/.github/workflows/generic.yml
@@ -27,15 +27,7 @@ jobs:
uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.platform.msys2-msystem }}
- install: >-
- ${{ matrix.platform.msys2-env }}-cc
- ${{ matrix.platform.msys2-env }}-cmake
- ${{ matrix.platform.msys2-env }}-ffmpeg
- ${{ matrix.platform.msys2-env }}-ninja
- ${{ (!matrix.platform.msys2-no-perl && format('{0}-perl', matrix.platform.msys2-env)) || '' }}
- ${{ matrix.platform.msys2-env }}-pkg-config
- ${{ matrix.platform.msys2-env }}-clang-tools-extra
- ${{ (matrix.platform.ccache && format('{0}-ccache', matrix.platform.msys2-env)) || '' }}
+ install: ${{ matrix.platform.msys2-packages }}
- name: 'About this job'
run: |
echo "key=${{ matrix.platform.key }}"