231 lines
9 KiB
PHTML
231 lines
9 KiB
PHTML
<?php use PHPCensor\Helper\Lang; ?>
|
|
|
|
<div class="row">
|
|
<div class="col-sm-4">
|
|
<div class="box">
|
|
<div class="box-header">
|
|
<h3 class="box-title">
|
|
<?php Lang::out('build_details'); ?>
|
|
</h3>
|
|
</div>
|
|
|
|
<div class="box-body no-padding">
|
|
<table class="table">
|
|
<tr>
|
|
<th><?php Lang::out('project'); ?></th>
|
|
<td style="text-align: right">
|
|
<a href="<?= APP_URL . 'project/view/' . $build->getProjectId(); ?>">
|
|
<i class="fa fa-<?= $build->getProject()->getIcon(); ?>"></i>
|
|
<?= $build->getProject()->getTitle(); ?>
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th><?php Lang::out('branch'); ?></th>
|
|
<td style="text-align: right">
|
|
<a target="_blank" href="<?= $build->getBranchLink(); ?>">
|
|
<i class="fa fa-code-fork"></i> <?= $build->getBranch(); ?>
|
|
</a>
|
|
<?php if ($tag = $build->getTag()): ?> /
|
|
<a target="_blank" href="<?= $build->getTagLink(); ?>">
|
|
<i class="fa fa-tag"></i> <?= $tag; ?>
|
|
</a>
|
|
<?php endif; ?>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th><?php Lang::out('environment'); ?></th>
|
|
<td style="text-align: right">
|
|
<?php
|
|
$environment = $build->getEnvironment();
|
|
echo !empty($environment) ? ('<i class="fa fa-gear"> ' . $environment) : '—' ;
|
|
?>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th><?php Lang::out('merged_branches'); ?></th>
|
|
<td style="text-align: right">
|
|
<a target="_blank" href="<?= $build->getBranchLink(); ?>">
|
|
<i class="fa fa-code-fork"></i> <?= $build->getBranch(); ?>
|
|
</a>
|
|
+ <?php
|
|
$branches = $build->getExtra('branches');
|
|
if (!empty($branches)) {
|
|
foreach($branches as $branch) {
|
|
?><i class="fa fa-code-fork"></i> <?php print $branch ?><?php
|
|
}
|
|
} else {
|
|
?>—<?php
|
|
}
|
|
?>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-4">
|
|
<div class="box">
|
|
<div class="box-header">
|
|
<h3 class="box-title">
|
|
<?php Lang::out('commit_details'); ?>
|
|
</h3>
|
|
</div>
|
|
|
|
<div class="box-body no-padding">
|
|
<table class="table">
|
|
<tr>
|
|
<th><?php Lang::out('build_source'); ?></th>
|
|
<td style="text-align: right">
|
|
<?php Lang::out($build->getSourceHumanize()); ?>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th><?php Lang::out('commit'); ?></th>
|
|
<td style="text-align: right">
|
|
<a target="_blank" href="<?= $build->getCommitLink(); ?>">
|
|
<?php print substr($build->getCommitId(), 0, 7); ?>
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th><?php Lang::out('committer'); ?></th>
|
|
<td style="text-align: right">
|
|
<?php print $build->getCommitterEmail(); ?>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th><?php Lang::out('commit_message'); ?></th>
|
|
<td style="text-align: right">
|
|
<?php print $build->getCommitMessage(); ?>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-4">
|
|
<div class="box">
|
|
<div class="box-header">
|
|
<h3 class="box-title">
|
|
<?php Lang::out('timing'); ?>
|
|
</h3>
|
|
</div>
|
|
|
|
<div class="box-body no-padding">
|
|
<table class="table">
|
|
<tr>
|
|
<th><?php Lang::out('created'); ?></th>
|
|
<td style="text-align: right" class="build-created datetime">
|
|
<?php print $build->getCreated() ? $build->getCreated()->format('Y-m-d H:i:s') : ''; ?>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th><?php Lang::out('started'); ?></th>
|
|
<td style="text-align: right" class="build-started datetime">
|
|
<?php print $build->getStarted() ? $build->getStarted()->format('Y-m-d H:i:s') : ''; ?>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th><?php Lang::out('finished'); ?></th>
|
|
<td style="text-align: right" class="build-finished datetime">
|
|
<?php print $build->getFinished() ? $build->getFinished()->format('Y-m-d H:i:s') : ''; ?>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th><?php Lang::out('duration'); ?></th>
|
|
<td style="text-align: right" class="build-duration duration">
|
|
<?php print $build->getDuration(); ?> <?= Lang::get('seconds'); ?>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="nav-tabs-custom">
|
|
<ul class="nav nav-tabs">
|
|
<li class="active">
|
|
<a href="#log" data-toggle="tab"><i class="fa fa-cogs"></i> <?php print Lang::get('build_log'); ?></a>
|
|
</li>
|
|
<li class="">
|
|
<a href="#errors" data-toggle="tab">
|
|
<i class="fa fa-exclamation-triangle"></i> <?php print Lang::get('errors'); ?>
|
|
<?php if ($data['errors'] == 0): ?>
|
|
<span class="errors-label label label-danger" style="display: none">0</span>
|
|
<?php else: ?>
|
|
<span class="errors-label label label-danger"><?php print $data['errors']; ?></span>
|
|
<?php endif; ?>
|
|
</a>
|
|
</li>
|
|
<li class="">
|
|
<a href="#information" data-toggle="tab"><i class="fa fa-info-circle"></i> <?php print Lang::get('information'); ?></a>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="tab-content">
|
|
<div class="tab-pane active" id="log">
|
|
<pre style="overflow-y: visible; white-space: pre-wrap"><?php print $data['log']; ?></pre>
|
|
</div>
|
|
|
|
<div class="tab-pane" id="errors">
|
|
<table class="errors-table table table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th><?php Lang::out('severity'); ?></th>
|
|
<th><?php Lang::out('plugin'); ?></th>
|
|
<th><?php Lang::out('file'); ?></th>
|
|
<th data-orderable="false"><?php Lang::out('line'); ?></th>
|
|
<th data-orderable="false"><?php Lang::out('message'); ?></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php print $data['error_html']; ?>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="tab-pane" id="information">
|
|
<div id="plugins" class="row"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="<?php print APP_URL; ?>assets/js/build.js"></script>
|
|
<script>
|
|
|
|
var ActiveBuild = new Build(<?php print $build->getId() ?>);
|
|
ActiveBuild.setupBuild(<?php print json_encode($data); ?>, <?php print json_encode($build->getFileLinkTemplate()); ?>);
|
|
|
|
</script>
|
|
|
|
<?php
|
|
foreach ($plugins as $plugin) {
|
|
print '<script src="' . APP_URL . 'assets/js/build-plugins/' . $plugin . '"></script>' . PHP_EOL;
|
|
}
|
|
?>
|
|
|
|
<script>
|
|
$(document).ready(function() {
|
|
ActiveBuild.renderPlugins();
|
|
|
|
$('#delete-build').on('click', function (e) {
|
|
e.preventDefault();
|
|
confirmDelete("<?= APP_URL; ?>build/delete/<?= $build->getId(); ?>")
|
|
.onCloseConfirmed = function () {window.location = '<?= APP_URL; ?>project/view/<?= $build->getProjectId(); ?>'};
|
|
});
|
|
});
|
|
</script>
|