* php cs fixes, testing ci build

This commit is contained in:
Dávid Danyi 2017-03-22 16:01:34 +01:00
parent 8d7f1b68c6
commit 951ca64943
7 changed files with 135 additions and 79 deletions

View File

@ -20,7 +20,12 @@ class CiConfig implements JsonSerializable
private $id; private $id;
/** /**
* @ORM\OneToMany(targetEntity="CiConfigItem", mappedBy="dailyConfig", cascade={"persist", "remove"}, orphanRemoval=true) * @ORM\OneToMany(
* targetEntity="CiConfigItem",
* mappedBy="dailyConfig",
* cascade={"persist", "remove"},
* orphanRemoval=true
* )
* @var CiConfigItem[] * @var CiConfigItem[]
*/ */
private $configItems; private $configItems;

View File

@ -7,6 +7,18 @@ use Psr\Http\Message\ResponseInterface;
class PreFlightMiddleware class PreFlightMiddleware
{ {
const ALLOW_HEADERS = [
'DNT',
'X-CustomHeader',
'Keep-Alive',
'User-Agent',
'X-Requested-With',
'If-Modified-Since',
'Cache-Control',
'Content-Type',
'Authorization',
];
public function __invoke(RequestInterface $request, ResponseInterface $response, callable $next) public function __invoke(RequestInterface $request, ResponseInterface $response, callable $next)
{ {
$requestMethod = strtoupper($request->getMethod()); $requestMethod = strtoupper($request->getMethod());
@ -15,7 +27,7 @@ class PreFlightMiddleware
->withHeader('Accept', 'OPTIONS,GET,POST,PUT,PATCH,DELETE') ->withHeader('Accept', 'OPTIONS,GET,POST,PUT,PATCH,DELETE')
->withHeader('Access-Control-Allow-Origin', '*') ->withHeader('Access-Control-Allow-Origin', '*')
->withHeader('Access-Control-Allow-Methods', 'OPTIONS,GET,POST,PUT,PATCH,DELETE') ->withHeader('Access-Control-Allow-Methods', 'OPTIONS,GET,POST,PUT,PATCH,DELETE')
->withHeader('Access-Control-Allow-Headers', 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization'); ->withHeader('Access-Control-Allow-Headers', implode(",", self::ALLOW_HEADERS));
} }
return $next($request, $response); return $next($request, $response);
} }

View File

@ -6,14 +6,27 @@ use Zend\Diactoros\Response\JsonResponse;
class JsonCorsResponse extends JsonResponse class JsonCorsResponse extends JsonResponse
{ {
public function __construct($data, const ALLOW_HEADERS = [
'DNT',
'X-CustomHeader',
'Keep-Alive',
'User-Agent',
'X-Requested-With',
'If-Modified-Since',
'Cache-Control',
'Content-Type',
'Authorization',
];
public function __construct(
$data,
$status = 200, $status = 200,
array $headers = [], array $headers = [],
$encodingOptions = self::DEFAULT_JSON_FLAGS) $encodingOptions = self::DEFAULT_JSON_FLAGS
{ ) {
$headers['Access-Control-Allow-Origin'] = '*'; $headers['Access-Control-Allow-Origin'] = '*';
$headers['Access-Control-Allow-Methods'] = 'OPTIONS,GET,POST,PUT,PATCH,DELETE'; $headers['Access-Control-Allow-Methods'] = 'OPTIONS,GET,POST,PUT,PATCH,DELETE';
$headers['Access-Control-Allow-Headers'] = 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization'; $headers['Access-Control-Allow-Headers'] = implode(",", self::ALLOW_HEADERS);
parent::__construct($data, $status, $headers, $encodingOptions); parent::__construct($data, $status, $headers, $encodingOptions);
} }
} }

View File

@ -159,7 +159,8 @@ class CiExecutorService
// if(0 == count($availableNodes)) { // if(0 == count($availableNodes)) {
// return false; // return false;
// } // }
// @todo remove this part, and check for sub-job success that also needs to be saved, if any node fails, all nodes fail now // @todo remove this part, and check for sub-job success that also needs to be saved
// if any node fails, all nodes fail now
foreach ($nodes as $node) { foreach ($nodes as $node) {
if (!$this->isNodeOnline($node) || !$this->isNodeIdle($node)) { if (!$this->isNodeOnline($node) || !$this->isNodeIdle($node)) {
return false; return false;
@ -204,14 +205,20 @@ class CiExecutorService
foreach ($typeNodes as $node => $backupPostfix) { foreach ($typeNodes as $node => $backupPostfix) {
if (false === strpos($node, "-")) { if (false === strpos($node, "-")) {
$nodeBaseName = sprintf("%s_%s", $node, $backupPostfix); $nodeBaseName = sprintf("%s_%s", $node, $backupPostfix);
$nodeBases[$node] = in_array($nodeBaseName, $this->getNodeBaseNames($config2Html, $node)) ? $nodeBaseName : false; $nodeBases[$node] = in_array($nodeBaseName, $this->getNodeBaseNames($config2Html, $node))
? $nodeBaseName
: false;
$nodeTraffics[$node] = $this->getNodeTrafficConfigs($config2Html, $node); $nodeTraffics[$node] = $this->getNodeTrafficConfigs($config2Html, $node);
} else { } else {
list($zone1, $zone2) = explode("-", $node); list($zone1, $zone2) = explode("-", $node);
$zone1BaseName = sprintf("%s_%s", $zone1, $backupPostfix); $zone1BaseName = sprintf("%s_%s", $zone1, $backupPostfix);
$zone2BaseName = sprintf("%s_%s", $zone2, $backupPostfix); $zone2BaseName = sprintf("%s_%s", $zone2, $backupPostfix);
$nodeBases[$zone1] = in_array($zone1BaseName, $this->getNodeBaseNames($config2Html, $zone1)) ? $zone1BaseName : false; $nodeBases[$zone1] = in_array($zone1BaseName, $this->getNodeBaseNames($config2Html, $zone1))
$nodeBases[$zone2] = in_array($zone2BaseName, $this->getNodeBaseNames($config2Html, $zone2)) ? $zone2BaseName : false; ? $zone1BaseName
: false;
$nodeBases[$zone2] = in_array($zone2BaseName, $this->getNodeBaseNames($config2Html, $zone2))
? $zone2BaseName
: false;
$nodeTraffics[$node] = $this->getNodeTrafficConfigs($config2Html, str_replace("-", "_", $node)); $nodeTraffics[$node] = $this->getNodeTrafficConfigs($config2Html, str_replace("-", "_", $node));
} }
} }
@ -281,7 +288,8 @@ class CiExecutorService
$appendParams[] = sprintf("%s=%s", $type, $node); $appendParams[] = sprintf("%s=%s", $type, $node);
} }
} }
$this->httpClient->setUri($this->jenkinsBaseUrl . self::CONFIG_1_PATH . '/buildWithParameters?delay=0sec&' . implode("&", $appendParams)); $uri = $this->jenkinsBaseUrl . self::CONFIG_1_PATH . '/buildWithParameters?delay=0sec&';
$this->httpClient->setUri($uri . implode("&", $appendParams));
$this->httpClient->resetParameters(false, false); $this->httpClient->resetParameters(false, false);
$request = $this->httpClient->getRequest(); $request = $this->httpClient->getRequest();
$request->setMethod('POST'); $request->setMethod('POST');
@ -350,7 +358,8 @@ class CiExecutorService
private function getStaplerTokens($config2Body, $blockName = "STREAM") private function getStaplerTokens($config2Body, $blockName = "STREAM")
{ {
if(0 === ($didMatch = preg_match(sprintf('#referencedParameters\.push\("%s"\);.*?makeStaplerProxy\(\'(.*?)\',\'(.*?)\'.*?// Create Jenkins proxy#msi', $blockName), $config2Body, $matches))) { $pattern = '#referencedParameters\.push\("%s"\);.*?makeStaplerProxy\(\'(.*?)\',\'(.*?)\'.*?// Create#msi';
if (0 === ($didMatch = preg_match(sprintf($pattern, $blockName), $config2Body, $matches))) {
throw new \Exception("Couldn't match stapler tokens in response body"); throw new \Exception("Couldn't match stapler tokens in response body");
} }
return [ return [
@ -504,7 +513,9 @@ class CiExecutorService
} }
rsort($baseNames, SORT_NATURAL); rsort($baseNames, SORT_NATURAL);
return array_filter($baseNames, function($item){return $item != "";}); return array_filter($baseNames, function ($item) {
return $item != "";
});
} }
private function getNodeTrafficConfigs($config2Body, $nodeName) private function getNodeTrafficConfigs($config2Body, $nodeName)
@ -532,7 +543,9 @@ class CiExecutorService
} }
rsort($trafficConfigs, SORT_NATURAL); rsort($trafficConfigs, SORT_NATURAL);
return array_filter($trafficConfigs, function($item){return $item != "";}); return array_filter($trafficConfigs, function ($item) {
return $item != "";
});
} }
@ -544,8 +557,13 @@ class CiExecutorService
* @param array $nodeTraffics * @param array $nodeTraffics
* @return bool * @return bool
*/ */
private function buildConfigTwo(CiConfigItem $configItem, $package, array $nodes, array $nodeBases, array $nodeTraffics) private function buildConfigTwo(
{ CiConfigItem $configItem,
$package,
array $nodes,
array $nodeBases,
array $nodeTraffics
) {
$params = []; $params = [];
if (false === $package) { if (false === $package) {
// stream doesn't exist, have to be created as new. enforces test to be nightly // stream doesn't exist, have to be created as new. enforces test to be nightly
@ -579,7 +597,8 @@ class CiExecutorService
$params[] = sprintf("%s_TRAFFIC=%s", $node, $nodeTraffics[$node]); $params[] = sprintf("%s_TRAFFIC=%s", $node, $nodeTraffics[$node]);
} }
$this->httpClient->setUri($this->jenkinsBaseUrl . self::CONFIG_2_PATH . '/buildWithParameters?delay=0sec&' . implode("&", $params)); $uri = $this->jenkinsBaseUrl . self::CONFIG_2_PATH . '/buildWithParameters?delay=0sec&';
$this->httpClient->setUri($uri . implode("&", $params));
$this->httpClient->resetParameters(false, false); $this->httpClient->resetParameters(false, false);
$request = $this->httpClient->getRequest(); $request = $this->httpClient->getRequest();
$request->setMethod('POST'); $request->setMethod('POST');
@ -632,7 +651,8 @@ class CiExecutorService
} }
// package type specified exists on jcat server // package type specified exists on jcat server
$uri = self::JCAT_DEPLOY_SOURCE_URL . sprintf("/JCAT-%s-%s/TSP_JCAT-%s-%s.tar.gz", $deployType, $version, $deployType, $version); $filePattern = "/JCAT-%s-%s/TSP_JCAT-%s-%s.tar.gz";
$uri = self::JCAT_DEPLOY_SOURCE_URL . sprintf($filePattern, $deployType, $version, $deployType, $version);
$this->httpClient->setUri($uri); $this->httpClient->setUri($uri);
$this->httpClient->resetParameters(false, false); $this->httpClient->resetParameters(false, false);
$request = $this->httpClient->getRequest(); $request = $this->httpClient->getRequest();
@ -643,7 +663,8 @@ class CiExecutorService
} }
// package type specified exists with 'TSP' prefix on jcat server // package type specified exists with 'TSP' prefix on jcat server
$uri = self::JCAT_DEPLOY_SOURCE_URL . sprintf("/JCAT-TSP%s-%s/TSP_JCAT-TSP%s-%s.tar.gz", $deployType, $version, $deployType, $version); $filePattern = "/JCAT-TSP%s-%s/TSP_JCAT-TSP%s-%s.tar.gz";
$uri = self::JCAT_DEPLOY_SOURCE_URL . sprintf($filePattern, $deployType, $version, $deployType, $version);
$this->httpClient->setUri($uri); $this->httpClient->setUri($uri);
$this->httpClient->resetParameters(false, false); $this->httpClient->resetParameters(false, false);
$request = $this->httpClient->getRequest(); $request = $this->httpClient->getRequest();
@ -667,7 +688,8 @@ class CiExecutorService
foreach ($availableJcatTargetNodes as $node) { foreach ($availableJcatTargetNodes as $node) {
$appendParams[] = "NODES=$node"; $appendParams[] = "NODES=$node";
} }
$this->httpClient->setUri($this->jenkinsBaseUrl . self::ADD_JCAT_PATH . '/buildWithParameters?delay=0sec&' . implode("&", $appendParams)); $uri = $this->jenkinsBaseUrl . self::ADD_JCAT_PATH . '/buildWithParameters?delay=0sec&';
$this->httpClient->setUri($uri . implode("&", $appendParams));
$this->httpClient->resetParameters(false, false); $this->httpClient->resetParameters(false, false);
$request = $this->httpClient->getRequest(); $request = $this->httpClient->getRequest();
$request->setMethod('POST'); $request->setMethod('POST');

View File

@ -8,7 +8,8 @@ class CiNodeService
private $nodes = [ private $nodes = [
[ [
"name" => 'esx4b', "type" => 'esx', "size" => 1, "team" => "detoqs", "name" => 'esx4b', "type" => 'esx', "size" => 1, "team" => "detoqs",
"bases" => ["7101_base_Jenkins_CI_20161006"], "defaultBase" => "7101_base_Jenkins_CI_20161006", "canAutoStart" => true, "bases" => ["7101_base_Jenkins_CI_20161006"], "defaultBase" => "7101_base_Jenkins_CI_20161006",
"canAutoStart" => true,
], ],
[ [
"name" => 'esx10a', "type" => 'esx', "size" => 1, "team" => "detoqs", "name" => 'esx10a', "type" => 'esx', "size" => 1, "team" => "detoqs",
@ -32,7 +33,8 @@ class CiNodeService
], ],
[ [
"name" => 'takumi', "type" => 'esx', "size" => 1, "team" => "detoqs", "name" => 'takumi', "type" => 'esx', "size" => 1, "team" => "detoqs",
"bases" => ["7000_base_Jenkins_CI_20160701"], "defaultBase" => "7000_base_Jenkins_CI_20160701", "canAutoStart" => true, "bases" => ["7000_base_Jenkins_CI_20160701"], "defaultBase" => "7000_base_Jenkins_CI_20160701",
"canAutoStart" => true,
], ],
[ [
"name" => 'cwsled', "type" => 'maia', "size" => 1, "team" => "taurus", "name" => 'cwsled', "type" => 'maia', "size" => 1, "team" => "taurus",
@ -84,11 +86,13 @@ class CiNodeService
], ],
[ [
"name" => 'natasha', "type" => 'nsp6.1', "size" => 2, "team" => "trex", "name" => 'natasha', "type" => 'nsp6.1', "size" => 2, "team" => "trex",
"bases" => ["7101_base_Jenkins_CI_20161217"], "defaultBase" => "7101_base_Jenkins_CI_20161217", "canAutoStart" => true, "bases" => ["7101_base_Jenkins_CI_20161217"], "defaultBase" => "7101_base_Jenkins_CI_20161217",
"canAutoStart" => true,
], ],
[ [
"name" => 'mazsola-tade', "type" => 'nsp6.1', "size" => 1, "team" => "vikinx", "name" => 'mazsola-tade', "type" => 'nsp6.1', "size" => 1, "team" => "vikinx",
"bases" => ["7111_base_Jenkins_CI_20170130"], "defaultBase" => "7111_base_Jenkins_CI_20170130", "canAutoStart" => true, "bases" => ["7111_base_Jenkins_CI_20170130"], "defaultBase" => "7111_base_Jenkins_CI_20170130",
"canAutoStart" => true,
], ],
[ [
"name" => 'pikkolo', "type" => 'nsp6.1', "size" => 1, "team" => "taurus", "name" => 'pikkolo', "type" => 'nsp6.1', "size" => 1, "team" => "taurus",