فهرست منبع

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)
Anonymous Maarten 21 ساعت پیش
والد
کامیت
add51f85c2
2فایلهای تغییر یافته به همراه18 افزوده شده و 17 حذف شده
  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
     minidump: bool = False
     intel: bool = False
     intel: bool = False
     msys2_msystem: str = ""
     msys2_msystem: str = ""
-    msys2_env: str = ""
-    msys2_no_perl: bool = False
+    msys2_packages: list[str] = dataclasses.field(default_factory=list)
     werror: bool = True
     werror: bool = True
     msvc_vcvars_arch: str = ""
     msvc_vcvars_arch: str = ""
     msvc_vcvars_sdk: str = ""
     msvc_vcvars_sdk: str = ""
@@ -248,8 +247,7 @@ class JobDetails:
             "enable-artifacts": enable_artifacts,
             "enable-artifacts": enable_artifacts,
             "shell": self.shell,
             "shell": self.shell,
             "msys2-msystem": self.msys2_msystem,
             "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,
             "android-ndk": self.android_ndk,
             "java": self.java,
             "java": self.java,
             "intel": self.intel,
             "intel": self.intel,
@@ -737,15 +735,26 @@ def spec_to_job(spec: JobSpec, key: str, trackmem_symbol_names: bool) -> JobDeta
             job.shell = "msys2 {0}"
             job.shell = "msys2 {0}"
             assert spec.msys2_platform
             assert spec.msys2_platform
             job.msys2_msystem = spec.msys2_platform.value
             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",
                 "mingw32": "mingw-w64-i686",
                 "mingw64": "mingw-w64-x86_64",
                 "mingw64": "mingw-w64-x86_64",
                 "clang64": "mingw-w64-clang-x86_64",
                 "clang64": "mingw-w64-clang-x86_64",
                 "ucrt64": "mingw-w64-ucrt-x86_64",
                 "ucrt64": "mingw-w64-ucrt-x86_64",
             }[spec.msys2_platform.value]
             }[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:
         case SdlPlatform.Riscos:
             job.ccache = False  # FIXME: enable when container gets upgrade
             job.ccache = False  # FIXME: enable when container gets upgrade
             # FIXME: Enable SDL_WERROR
             # FIXME: Enable SDL_WERROR

+ 1 - 9
.github/workflows/generic.yml

@@ -27,15 +27,7 @@ jobs:
         uses: msys2/setup-msys2@v2
         uses: msys2/setup-msys2@v2
         with:
         with:
           msystem: ${{ matrix.platform.msys2-msystem }}
           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'
       - name: 'About this job'
         run: |
         run: |
           echo "key=${{ matrix.platform.key }}"
           echo "key=${{ matrix.platform.key }}"