build logs
connect_error) { die("Connection failed: " . $mysql->connect_error); } $result = $mysql -> query( "SELECT " . "`build_assignments`.`id`," . "`build_assignments`.`is_blocked`," . "`package_sources`.`pkgbase`," . "`package_sources`.`git_revision`," . "`package_sources`.`mod_git_revision`," . "`upstream_repositories`.`name` " . "FROM `build_assignments` " . "JOIN `package_sources` ON `build_assignments`.`package_source` = `package_sources`.`id` " . "JOIN `upstream_repositories` ON `package_sources`.`upstream_package_repository` = `upstream_repositories`.`id` " . "WHERE `build_assignments`.`is_broken` OR `build_assignments`.`is_blocked` IS NOT NULL" ); if ($result -> num_rows > 0) { $count = 0; while($row = $result->fetch_assoc()) { $fail_result = $mysql -> query( "SELECT " . "`fail_reasons`.`name`, " . "`failed_builds`.`log_file` " . "FROM `failed_builds` " . "JOIN `build_assignments` ON `failed_builds`.`build_assignment`=`build_assignments`.`id` ". "JOIN `fail_reasons` ON `failed_builds`.`reason`=`fail_reasons`.`id` ". "WHERE `build_assignments`.`id`=".$row["id"]." " . "ORDER BY `failed_builds`.`date`" ); unset($reasons); unset($last_log); $rows[$count]["trials"] = $fail_result -> num_rows; if ($rows[$count]["trials"] > 0) { while($fail_row = $fail_result->fetch_assoc()) { $reasons[$fail_row["name"]] = $fail_row["name"]; $last_log = $fail_row["log_file"]; } } if (isset($reasons)) { $to_print=""; foreach ($reasons as $reason) { $to_print=$to_print.", ".$reason; } $rows[$count]["fail_reasons"]=substr($to_print,2); } else { $rows[$count]["fail_reasons"]=" "; } $rows[$count]["pkgbase"] = $row["pkgbase"]; $rows[$count]["git_revision"] = $row["git_revision"]; $rows[$count]["mod_git_revision"] = $row["mod_git_revision"]; $rows[$count]["name"] = $row["name"]; if (isset($rows[$count]["last_log"])) $rows[$count]["print_trials"]="". $rows[$count]["trials"] .""; else $rows[$count]["print_trials"]=$rows[$count]["trials"]; if ($row["is_blocked"]=="") { $rows[$count]["is_blocked"]=" "; } else { $rows[$count]["is_blocked"] = preg_replace( array ( "/FS32#(\\d+)/", "/FS#(\\d+)/" ), array ( "$0", "$0" ), $row["is_blocked"] ); } $count++; } usort( $rows, function (array $a, array $b) { if ($a["trials"] < $b["trials"]) return -1; if ($a["trials"] > $b["trials"]) return 1; return strcmp($a["pkgbase"],$b["pkgbase"]); } ); print "\n"; print ""; print ""; print ""; print ""; print ""; print ""; // print ""; print ""; print ""; print "\n"; foreach($rows as $row) { print ""; print ""; print ""; print ""; print ""; print ""; // print ""; print ""; print "\n"; } print "
packagegit revisionmodification git revisionpackage repositorycompilationsdependentbuild errorblocked
".$row["pkgbase"]."

".$row["git_revision"]."

".$row["mod_git_revision"]."

".$row["name"]."".$row["print_trials"]."0".$row["fail_reasons"]."".$row["is_blocked"]."
\n"; } ?>