소스 검색

[CI] copy test outputs to haxe-output folder

Andy Li 9 년 전
부모
커밋
c865cd194c
2개의 변경된 파일34개의 추가작업 그리고 0개의 파일을 삭제
  1. 2 0
      .travis.yml
  2. 32 0
      tests/RunCi.hx

+ 2 - 0
.travis.yml

@@ -13,6 +13,8 @@ env:
     - secure: "ETbwZaeRq8wIVZVyUk1IsNctYVuQa/U2biRkF9pQkz3MEXpaneynclVzNjm8rnm8JqfKcjUDUvQJBP1KYrJYq3tAJFhl31YUnS0FsF3sgLIcnHkhbRA24xJdIlCwHP6QUPoiyPbkec43NRwrF0071KOMD51vgUToXRtAe3o/15g="
     - secure: "Fcrrge2f4jFYDOopig2rwkQvgJw6Ra8UK6OwTVk08wecytzVaOJK1TcB22PSvZ+h0ZLJs34T+pXHFjlNuSWm4+CwGSvnltRD1/svjS8zOqK7RzuUdzHz87yruz9PFqV63HTas6qtmgLqp8n/Q6AhtDLF39BTZPyDzEbi9qkwRuI="
     - secure: "VBJDQNJ9uvdt0aszo7oU3txuRvjkuLmuHZGOkrd4wE/5B4sX5jzx/+dnrKcNTXJCmQ/rVLuMu9GyxqVjNHlzce678voxdQNOtNkNgpkr1qN9/A9rRnCp77hH27ErdthpWxbmcnE62hAJ83TIKSvn//5lAkx4sMCKS1NXEWQ5qec="
+    # HAXECI_GH_TOKEN: haxe-ci Github personal access token
+    - secure: "TpEMYTLgNrVD7kR6hs6EwyWNXUxnfV6XO5MGvYQncKXB1N65PG18n4WQFhnKaH8C2QTFE7dq7688ooXGzwWeoT9WAOBey10jP1f7LXEAjMGAUA4vh2zS93qBZ92ZgzCDZnQN7ZOTQGocwU6Xolu+7/6hP2M8041HBixmFuNkXF4="
 
 sudo: false
 addons:

+ 32 - 0
tests/RunCi.hx

@@ -608,6 +608,38 @@ class RunCi {
 		}
 	}
 
+	static function saveOutput():Void {
+		// get the outputs by listing the files/folders ignored by git
+		var stdout = {
+			var proc = new Process("git", ["status", "--ignored", "--porcelain", Sys.getCwd()]);
+			var out = proc.stdout.readAll().toString();
+			proc.close();
+			out;
+		};
+		var outputs = stdout.split("\n")
+			.filter(function(s) return s.startsWith("!! "))
+			.map(function(s) return s.substr("!! ".length));
+
+		// copy all the outputs to haxe-output
+		var haxe_output = Path.join([repoDir, "haxe-output"]);
+		FileSystem.createDirectory(haxe_output);
+		for (item in outputs) {
+			var orig = Path.join([repoDir, item]);
+			var dest = Path.join([haxe_output, item]);
+			if (FileSystem.isDirectory(orig)) {
+				FileSystem.createDirectory(dest);
+			} else {
+				FileSystem.createDirectory(Path.directory(dest));
+			}
+			Sys.command("cp", ["-r", orig, dest]);
+		}
+
+		// git
+		// Sys.setCwd(haxe_output);
+		// Sys.command("git", ["init"]);
+		// Sys.command("git", ["remote", "add", ""]);
+	}
+
 	static function main():Void {
 		Sys.putEnv("OCAMLRUNPARAM", "b");