Pārlūkot izejas kodu

[ci] run test suite on macos-latest (#12315)

Zeta 1 nedēļu atpakaļ
vecāks
revīzija
56469ba773

+ 6 - 3
.github/workflows/main.yml

@@ -797,19 +797,22 @@ jobs:
 
   mac-test:
     needs: mac-build-universal
-    runs-on: macos-13
+    runs-on: ${{ matrix.os }}
     env:
-      PLATFORM: mac
+      PLATFORM: mac${{ matrix.os == 'macos-latest' && '-arm64' || '' }}
       TEST: ${{matrix.target}}
       HXCPP_COMPILE_CACHE: ~/hxcache
       HAXE_STD_PATH: /usr/local/share/haxe/std
     strategy:
       fail-fast: false
       matrix:
-        target: [macro, js, hl, cpp, jvm, php, python, lua, flash, neko]
+        os: [macos-latest]
+        target: [macro, js, cpp, jvm, php, python, lua, flash, neko]
         include:
           - target: hl
+            os: macos-13
             BREW_PACKAGES: ninja
+
     steps:
       - uses: actions/checkout@main
         with:

+ 6 - 3
extra/github-actions/workflows/main.yml

@@ -450,19 +450,22 @@ jobs:
 
   mac-test:
     needs: mac-build-universal
-    runs-on: macos-13
+    runs-on: ${{ matrix.os }}
     env:
-      PLATFORM: mac
+      PLATFORM: mac${{ matrix.os == 'macos-latest' && '-arm64' || '' }}
       TEST: ${{matrix.target}}
       HXCPP_COMPILE_CACHE: ~/hxcache
       HAXE_STD_PATH: /usr/local/share/haxe/std
     strategy:
       fail-fast: false
       matrix:
-        target: [macro, js, hl, cpp, jvm, php, python, lua, flash, neko]
+        os: [macos-latest]
+        target: [macro, js, cpp, jvm, php, python, lua, flash, neko]
         include:
           - target: hl
+            os: macos-13
             BREW_PACKAGES: ninja
+
     steps:
       - uses: actions/checkout@main
         with:

+ 2 - 0
tests/runci/targets/Cpp.hx

@@ -53,6 +53,8 @@ class Cpp {
 				'HXCPP_M32';
 			case 'Linux' if(Linux.arch == Arm64):
 				'HXCPP_LINUX_ARM64';
+			case 'Mac' if(commandResult('arch', []).stdout == "arm64"):
+				'HXCPP_ARM64';
 			case _:
 				'HXCPP_M64';
 		}

+ 13 - 8
tests/runci/targets/Lua.hx

@@ -11,27 +11,32 @@ class Lua {
 	static public function getLuaDependencies(){
 		switch (systemName){
 			case "Linux":
-				Linux.requireAptPackages(["libpcre2-dev", "libssl-dev", "libreadline-dev"]);
-				runCommand("pip", ["install", "--user", "hererocks"]);
-				final pyUserBase = commandResult("python", ["-m", "site", "--user-base"]).stdout.trim();
-				addToPATH(Path.join([pyUserBase, "bin"]));
+				Linux.requireAptPackages(["libpcre2-dev", "libssl-dev", "libreadline-dev", "pipx"]);
+				runCommand("pipx", ["ensurepath"]);
+				runCommand("pipx", ["install", "hererocks"]);
 			case "Mac": {
 				if (commandSucceed("python3", ["-V"]))
 					infoMsg('python3 has already been installed.');
 				else
 					runNetworkCommand("brew", ["install", "python3"]);
 
-				runCommand("pip3", ["install", "hererocks"]);
+				attemptCommand("brew", ["install", "pcre2"]);
 				runCommand("brew", ["install", "openssl"]);
+				runCommand("brew", ["install", "pipx"]);
+				runCommand("pipx", ["ensurepath"]);
+				runCommand("pipx", ["install", "hererocks"]);
 			}
 		}
 	}
 
 	static function installLib(lib : String, version : String, ?server :String){
 		if (!commandSucceed("luarocks", ["show", lib, version])) {
-            final args = ["install", lib, version];
+			final args = ["install", lib, version];
 			if (systemName == "Mac") {
-				args.push('OPENSSL_DIR=/usr/local/opt/openssl@3');
+				final opensslPath = commandResult("brew", ["--prefix", "openssl"]);
+				args.push('OPENSSL_DIR=${opensslPath.stdout.trim()}');
+				final pcrePath = commandResult("brew", ["--prefix", "pcre2"]);
+				args.push('PCRE2_DIR=${pcrePath.stdout.trim()}');
 			}
             if (server != null){
                 final server_arg = '--server=$server';
@@ -86,7 +91,7 @@ class Lua {
 				installLib("luautf8", "0.1.1-1");
 			}
 
-			installLib("hx-lua-simdjson", "0.0.1-1");
+			installLib("https://raw.githubusercontent.com/HaxeFoundation/hx-lua-simdjson/master/hx-lua-simdjson-scm-1.rockspec", "");
 
 			changeDirectory(unitDir);
 			final luaDefine = if (lv.startsWith("-l")) {