浏览代码

[ci] get CI running

Simon Krajewski 6 年之前
父节点
当前提交
ba4367f7de
共有 4 个文件被更改,包括 49 次插入37 次删除
  1. 4 4
      .travis.yml
  2. 1 1
      src/generators/genpy.ml
  3. 32 15
      tests/RunCi.hx
  4. 12 17
      tests/unit/src/RunSauceLabs.hx

+ 4 - 4
.travis.yml

@@ -62,7 +62,7 @@ install_osx: &install_osx
   # Install haxe dependencies
   - brew uninstall --force brew-cask # https://github.com/caskroom/homebrew-cask/pull/15381
   - travis_retry brew tap Homebrew/bundle
-  - travis_retry brew bundle --file=tests/Brewfile
+  - travis_retry brew bundle --file=tests/Brewfile --no-upgrade
   # Install neko
   - mkdir ~/neko
   - export NEKOPATH=~/neko
@@ -140,20 +140,20 @@ matrix:
     # osx #
     #######
     - os: osx
-      osx_image: xcode7.3
+      osx_image: xcode8.3
       env:
         - TEST=neko
         - DEPLOY_NIGHTLIES=1
       install: *install_osx
 
     - os: osx
-      osx_image: xcode9.1
+      osx_image: xcode9.4
       env:
         - TEST=macro,js,php,flash9,as3,java,cs,python,hl,lua
       install: *install_osx
 
     - os: osx
-      osx_image: xcode9.1
+      osx_image: xcode9.4
       env:
         - TEST=cpp
       install: *install_osx

+ 1 - 1
src/generators/genpy.ml

@@ -68,7 +68,7 @@ module KeywordHandler = struct
 	let kwds =
 		let h = Hashtbl.create 0 in
 		List.iter (fun s -> Hashtbl.add h s ()) [
-			"and"; "as"; "assert"; "break"; "class"; "continue"; "def"; "del"; "elif"; "else"; "except"; "exec"; "finally"; "for";
+			"and"; "as"; "assert"; "async"; "await"; "break"; "class"; "continue"; "def"; "del"; "elif"; "else"; "except"; "exec"; "finally"; "for";
 			"from"; "global"; "if"; "import"; "in"; "is"; "lambda"; "not"; "or"; "pass"; " raise"; "return"; "try"; "while";
 			"with"; "yield"; "None"; "True"; "False";
 		];

+ 32 - 15
tests/RunCi.hx

@@ -168,7 +168,13 @@ class RunCi {
 		Sys.setCwd(path);
 	}
 
-	static function setupFlashPlayerDebugger():Void {
+	static public function getLatestFPVersion():Array<Int> {
+		var appcast = Xml.parse(haxe.Http.requestUrl("http://fpdownload2.macromedia.com/get/flashplayer/update/current/xml/version_en_mac_pep.xml"));
+		var versionStr = new haxe.xml.Fast(appcast).node.XML.node.update.att.version;
+		return versionStr.split(",").map(Std.parseInt);
+	}
+
+	static public function setupFlashPlayerDebugger():Void {
 		var mmcfgPath = switch (systemName) {
 			case "Linux":
 				Sys.getEnv("HOME") + "/mm.cfg";
@@ -180,21 +186,31 @@ class RunCi {
 
 		switch (systemName) {
 			case "Linux":
-				requireAptPackages([
-					"libcurl3:i386", "libglib2.0-0:i386", "libx11-6:i386", "libxext6:i386",
-					"libxt6:i386", "libxcursor1:i386", "libnss3:i386", "libgtk2.0-0:i386"
-				]);
-				runCommand("wget", ["-nv", "http://fpdownload.macromedia.com/pub/flashplayer/updaters/25/flash_player_sa_linux_debug.x86_64.tar.gz"], true);
+				requireAptPackages(["libglib2.0", "libfreetype6"]);
+				var majorVersion = getLatestFPVersion()[0];
+				runCommand("wget", ["-nv", 'http://fpdownload.macromedia.com/pub/flashplayer/updaters/${majorVersion}/flash_player_sa_linux_debug.x86_64.tar.gz'], true);
 				runCommand("tar", ["-xf", "flash_player_sa_linux_debug.x86_64.tar.gz", "-C", Sys.getEnv("HOME")]);
-				File.saveContent(mmcfgPath, "ErrorReportingEnable=1\nTraceOutputFileEnable=1");
+				if (!FileSystem.exists(mmcfgPath)) {
+					File.saveContent(mmcfgPath, "ErrorReportingEnable=1\nTraceOutputFileEnable=1");
+				}
 				runCommand(Sys.getEnv("HOME") + "/flashplayerdebugger", ["-v"]);
 			case "Mac":
-				runCommand("brew", ["tap", "caskroom/versions"]);
+				if (commandResult("brew", ["cask", "list", "flash-player-debugger"]).exitCode == 0) {
+					return;
+				}
 				runCommand("brew", ["cask", "install", "flash-player-debugger"]);
+
+				// Disable the "application downloaded from Internet" warning
+				runCommand("xattr", ["-d", "-r", "com.apple.quarantine", "/Applications/Flash Player Debugger.app"]);
+
 				var dir = Path.directory(mmcfgPath);
-				runCommand("sudo", ["mkdir", "-p", dir]);
-				runCommand("sudo", ["chmod", "a+w", dir]);
-				File.saveContent(mmcfgPath, "ErrorReportingEnable=1\nTraceOutputFileEnable=1");
+				if (!FileSystem.exists(dir)) {
+					runCommand("sudo", ["mkdir", "-p", dir]);
+					runCommand("sudo", ["chmod", "a+w", dir]);
+				}
+				if (!FileSystem.exists(mmcfgPath)) {
+					File.saveContent(mmcfgPath, "ErrorReportingEnable=1\nTraceOutputFileEnable=1");
+				}
 		}
 	}
 
@@ -569,7 +585,7 @@ class RunCi {
 					infoMsg('pypy3 has already been installed.');
 				} else {
 					var pypyVersion = "pypy3-2.4.0-linux64";
-					runCommand("wget", ['https://bitbucket.org/pypy/pypy/downloads/${pypyVersion}.tar.bz2'], true);
+					runCommand("wget", ["-nv", 'https://bitbucket.org/pypy/pypy/downloads/${pypyVersion}.tar.bz2'], true);
 					runCommand("tar", ["-xf", '${pypyVersion}.tar.bz2']);
 					pypy = FileSystem.fullPath('${pypyVersion}/bin/pypy3');
 				}
@@ -720,7 +736,7 @@ class RunCi {
 
 	static function isDeployApiDocsRequired () {
 		return
-			Sys.getEnv("DEPLOY_API_DOCS") != null && 
+			Sys.getEnv("DEPLOY_API_DOCS") != null &&
 			switch(Sys.getEnv("TRAVIS_TAG")) {
 				case null, _.trim() => "":
 					false;
@@ -1174,13 +1190,14 @@ class RunCi {
 						} else {
 							var apacheMirror = Json.parse(Http.requestUrl("http://www.apache.org/dyn/closer.lua?as_json=1")).preferred;
 							var flexVersion = "4.16.0";
-							runCommand("wget", ['${apacheMirror}/flex/${flexVersion}/binaries/apache-flex-sdk-${flexVersion}-bin.tar.gz'], true);
+							runCommand("wget", ["-nv", '${apacheMirror}/flex/${flexVersion}/binaries/apache-flex-sdk-${flexVersion}-bin.tar.gz'], true);
 							runCommand("tar", ["-xf", 'apache-flex-sdk-${flexVersion}-bin.tar.gz', "-C", Sys.getEnv("HOME")]);
 							var flexsdkPath = Sys.getEnv("HOME") + '/apache-flex-sdk-${flexVersion}-bin';
 							addToPATH(flexsdkPath + "/bin");
+							var flashVersion = getLatestFPVersion();
 							var playerglobalswcFolder = flexsdkPath + "/player";
 							FileSystem.createDirectory(playerglobalswcFolder + "/11.1");
-							runCommand("wget", ["-nv", "http://download.macromedia.com/get/flashplayer/updaters/11/playerglobal11_1.swc", "-O", playerglobalswcFolder + "/11.1/playerglobal.swc"], true);
+							runCommand("wget", ["-nv", 'http://download.macromedia.com/get/flashplayer/updaters/${flashVersion[0]}/playerglobal${flashVersion[0]}_${flashVersion[1]}.swc', "-O", playerglobalswcFolder + "/11.1/playerglobal.swc"], true);
 							File.saveContent(flexsdkPath + "/env.properties", 'env.PLAYERGLOBAL_HOME=$playerglobalswcFolder');
 							runCommand("mxmlc", ["--version"]);
 						}

+ 12 - 17
tests/unit/src/RunSauceLabs.hx

@@ -58,18 +58,18 @@ class RunSauceLabs {
 
 		//https://saucelabs.com/platforms
 		var browsers:Array<Dynamic> = [
-			{
-				"browserName": "internet explorer",
-				"platform": "Windows 7",
-				"version": "8.0",
-				"prerun": hideLongRunningScriptWarning
-			},
-			{
-				"browserName": "internet explorer",
-				"platform": "Windows 7",
-				"version": "9.0",
-				"prerun": hideLongRunningScriptWarning
-			},
+			// {
+			// 	"browserName": "internet explorer",
+			// 	"platform": "Windows 7",
+			// 	"version": "8.0",
+			// 	"prerun": hideLongRunningScriptWarning
+			// },
+			// {
+			// 	"browserName": "internet explorer",
+			// 	"platform": "Windows 7",
+			// 	"version": "9.0",
+			// 	"prerun": hideLongRunningScriptWarning
+			// },
 			{
 				"browserName": "internet explorer",
 				"platform": "Windows 7",
@@ -88,11 +88,6 @@ class RunSauceLabs {
 				"browserName": "firefox",
 				"platform": "Windows 7"
 			},
-			{
-				"browserName": "safari",
-				"platform": "OS X 10.9",
-				"version": "7.0"
-			},
 			{
 				"browserName": "safari",
 				"platform": "OS X 10.10",