Browse Source

ci: clang-tools-extra is no longer available for mingw32

mingw32 and mingw64 are in the process of being deprecated
Anonymous Maarten 18 hours ago
parent
commit
be6f1efa26
2 changed files with 18 additions and 17 deletions
  1. 17 8
      .github/workflows/create-test-plan.py
  2. 1 9
      .github/workflows/generic.yml

+ 17 - 8
.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 @@ class JobDetails:
             "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,
@@ -739,15 +737,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

+ 1 - 9
.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 }}"