2023-05-16 11:11:05 +00:00
|
|
|
<div>
|
2023-05-30 13:52:17 +00:00
|
|
|
<livewire:project.application.preview.form :application="$application" />
|
2024-02-11 16:29:14 +00:00
|
|
|
@if (count($application->additional_servers) > 0)
|
|
|
|
<div class="pb-4">Previews will be deployed on <span
|
|
|
|
class="text-warning">{{ $application->destination->server->name }}</span>.</div>
|
|
|
|
@endif
|
2023-05-30 13:52:17 +00:00
|
|
|
<div>
|
2024-01-29 09:43:18 +00:00
|
|
|
@if ($application->is_github_based())
|
|
|
|
<div class="flex items-center gap-2">
|
|
|
|
<h3>Pull Requests on Git</h3>
|
|
|
|
<x-forms.button wire:click="load_prs">Load Pull Requests
|
|
|
|
</x-forms.button>
|
|
|
|
</div>
|
|
|
|
@endif
|
2023-05-30 13:52:17 +00:00
|
|
|
@isset($rate_limit_remaining)
|
2024-01-07 22:32:54 +00:00
|
|
|
<div class="pt-1 ">Requests remaining till rate limited by Git: {{ $rate_limit_remaining }}</div>
|
2023-05-30 13:52:17 +00:00
|
|
|
@endisset
|
2023-05-31 08:19:29 +00:00
|
|
|
@if (count($pull_requests) > 0)
|
2023-06-12 19:12:07 +00:00
|
|
|
<div wire:loading.remove wire:target='load_prs'>
|
2023-06-05 10:07:55 +00:00
|
|
|
<div class="overflow-x-auto table-md">
|
2023-06-12 19:12:07 +00:00
|
|
|
<table>
|
2023-06-05 10:07:55 +00:00
|
|
|
<thead>
|
2023-06-12 19:12:07 +00:00
|
|
|
<tr>
|
2023-06-05 10:07:55 +00:00
|
|
|
<th>PR Number</th>
|
|
|
|
<th>PR Title</th>
|
|
|
|
<th>Git</th>
|
|
|
|
<th>Actions</th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
@foreach ($pull_requests as $pull_request)
|
2023-06-12 19:12:07 +00:00
|
|
|
<tr>
|
2023-06-05 10:07:55 +00:00
|
|
|
<th>{{ data_get($pull_request, 'number') }}</th>
|
|
|
|
<td>{{ data_get($pull_request, 'title') }}</td>
|
|
|
|
<td>
|
|
|
|
<a target="_blank" class="text-xs"
|
|
|
|
href="{{ data_get($pull_request, 'html_url') }}">Open PR on
|
|
|
|
Git
|
|
|
|
<x-external-link />
|
|
|
|
</a>
|
|
|
|
</td>
|
2023-06-12 19:12:07 +00:00
|
|
|
<td>
|
2023-06-05 10:07:55 +00:00
|
|
|
<x-forms.button
|
|
|
|
wire:click="deploy('{{ data_get($pull_request, 'number') }}', '{{ data_get($pull_request, 'html_url') }}')">
|
|
|
|
Deploy
|
|
|
|
</x-forms.button>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
@endforeach
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
2023-05-31 08:19:29 +00:00
|
|
|
</div>
|
|
|
|
@endif
|
2023-05-16 12:11:55 +00:00
|
|
|
</div>
|
2023-05-30 13:52:17 +00:00
|
|
|
@if ($application->previews->count() > 0)
|
2023-11-13 12:20:12 +00:00
|
|
|
<div class="pb-4">Previews</div>
|
2024-02-10 06:40:35 +00:00
|
|
|
<div class="flex flex-wrap gap-6">
|
2023-05-30 13:52:17 +00:00
|
|
|
@foreach ($application->previews as $preview)
|
2023-09-14 13:52:04 +00:00
|
|
|
<div class="flex flex-col p-4 bg-coolgray-200">
|
2023-06-05 10:07:55 +00:00
|
|
|
<div class="flex gap-2">PR #{{ data_get($preview, 'pull_request_id') }} |
|
2023-09-22 13:29:19 +00:00
|
|
|
@if (Str::of(data_get($preview, 'status'))->startsWith('running'))
|
2023-10-01 10:02:44 +00:00
|
|
|
<x-status.running :status="data_get($preview, 'status')" />
|
2023-09-22 13:29:19 +00:00
|
|
|
@elseif(Str::of(data_get($preview, 'status'))->startsWith('restarting'))
|
2023-10-01 10:02:44 +00:00
|
|
|
<x-status.restarting :status="data_get($preview, 'status')" />
|
2023-06-05 10:07:55 +00:00
|
|
|
@else
|
2023-10-01 10:02:44 +00:00
|
|
|
<x-status.stopped :status="data_get($preview, 'status')" />
|
2023-06-05 10:07:55 +00:00
|
|
|
@endif
|
2023-05-30 13:52:17 +00:00
|
|
|
@if (data_get($preview, 'status') !== 'exited')
|
|
|
|
| <a target="_blank" href="{{ data_get($preview, 'fqdn') }}">Open Preview
|
|
|
|
<x-external-link />
|
|
|
|
</a>
|
|
|
|
@endif
|
2023-05-31 08:19:29 +00:00
|
|
|
|
|
2023-12-07 18:06:32 +00:00
|
|
|
<a target="_blank" href="{{ data_get($preview, 'pull_request_html_url') }}">Open
|
|
|
|
PR on Git
|
2023-05-31 08:19:29 +00:00
|
|
|
<x-external-link />
|
|
|
|
</a>
|
2023-05-30 13:52:17 +00:00
|
|
|
</div>
|
2023-05-31 08:19:29 +00:00
|
|
|
<div class="flex items-center gap-2 pt-6">
|
2023-11-27 14:25:15 +00:00
|
|
|
<x-forms.button class="bg-coolgray-500"
|
|
|
|
wire:click="deploy({{ data_get($preview, 'pull_request_id') }})">
|
2023-05-30 13:52:17 +00:00
|
|
|
@if (data_get($preview, 'status') === 'exited')
|
|
|
|
Deploy
|
|
|
|
@else
|
|
|
|
Redeploy
|
|
|
|
@endif
|
|
|
|
</x-forms.button>
|
2023-11-27 14:25:15 +00:00
|
|
|
<x-forms.button class="bg-coolgray-500"
|
|
|
|
wire:click="stop({{ data_get($preview, 'pull_request_id') }})">Remove Preview
|
2023-11-01 19:55:21 +00:00
|
|
|
</x-forms.button>
|
2023-11-01 14:39:47 +00:00
|
|
|
<a
|
2024-01-07 15:23:41 +00:00
|
|
|
href="{{ route('project.application.deployment.index', [...$parameters, 'pull_request_id' => data_get($preview, 'pull_request_id')]) }}">
|
2023-11-13 12:20:12 +00:00
|
|
|
<x-forms.button class="bg-coolgray-500">
|
2023-11-01 14:39:47 +00:00
|
|
|
Get Deployment Logs
|
|
|
|
</x-forms.button>
|
|
|
|
</a>
|
2023-05-30 13:52:17 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@endforeach
|
|
|
|
</div>
|
|
|
|
@endif
|
2023-05-16 11:11:05 +00:00
|
|
|
</div>
|