+++ /dev/null
-{% extends "base.html" %}
-
-{% block title %}{{ _("Job") }}: {{ job.name }}{% end block %}
-
-{% block body %}
-
- <div class="row">
- <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
- <nav aria-label="breadcrumb" role="navigation">
- <ol class="breadcrumb">
- <li class="breadcrumb-item"><a href="/">{{ _("Home") }}</a></li>
- <li class="breadcrumb-item"><a href="/packages">{{ _("Packages") }}</a></li>
- <li class="breadcrumb-item"><a href="/package/{{ build.pkg.name }}">{{ build.pkg.name }}</a></li>
- <li class="breadcrumb-item"><a href="/build/{{ build.uuid }}">{{ build.pkg.friendly_version }}</a></li>
- <li class="breadcrumb-item active"><a href="/job/{{ job.uuid }}">{{ job.arch }}</a></li>
- </ol>
- </nav>
- </div>
- </div>
-
- <div class="row">
- {% if current_user and job.state in ("dispatching", "running", "uploading", "aborted", "failed", "finished") %}
- <div class="col-12 col-sm-12 col-md-9 col-lg-10 col-xl-10">
- <h2 style="word-wrap: break-word;">
- {{ _("Build job") }}: {{ job.name }}
- {% module JobState(job, cls="float-lg-right float-xl-right", show_icon=False) %}
- <br>
- <small>{{ job.pkg.summary }}</small>
- </h2>
- </div>
- <div class="col-12 col-sm-12 col-md-3 col-lg-2 col-xl-2">
- <div class="dropdown">
- <button class="btn btn-block btn-light dropdown-toggle mb-2" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
- {{ _("Actions") }}
- </button>
- <div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenuButton">
- {% if job.state in ("dispatching", "running", "uploading") %}
- <a class="dropdown-item" href="/job/{{ job.uuid }}/abort">
- {{ _("Abort job") }}
- </a>
- {% elif job.state in ("aborted", "failed") %}
- <a class="dropdown-item" href="/job/{{ job.uuid }}/schedule?type=rebuild">
- {{ _("Restart job") }}
- </a>
- {% elif job.state == "finished" %}
- <a class="dropdown-item" href="/job/{{ job.uuid }}/schedule?type=test">
- {{ _("Schedule test build") }}
- </a>
- {% end %}
- </div>
- </div>
- </div>
- {% else %}
- <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
- <h2 style="word-wrap: break-word;">
- {{ _("Build job") }}: {{ job.name }}
- {% module JobState(job, cls="float-lg-right float-xl-right", show_icon=False) %}
- <br>
- <small>{{ job.pkg.summary }}</small>
- </h2>
- </div>
- {% end %}
- </div>
-
-
-
- {% if job.message %}
- <div class="row">
- <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
- <div class="alert alert-info">
- {{ "<br />".join(job.message.splitlines()) }}
- </div>
- </div>
- </div>
- {% end %}
-
- {% if job.state == "aborted" and job.aborted_state %}
- <div class="row">
- <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
- <div class="alert alert-danger" role="alert">
- <h3 style="word-wrap: break-word;" class="alert-heading">
- {{ _("Job has been aborted") }}
- </h3>
- <p>
- {{ _("This build job is in an aborted state, because the build process crashed unexpectedly.") }}
- {{ _("In most cases, there is no log file and you must figure out the issue on your own.") }}
- </p>
- <p>
- {{ _("The error code is:") }}
-
- {% if job.aborted_state == -11 %}
- SEGV - {{ _("Segmentation violation") }}
- {% else %}
- {{ job.aborted_state }} - {{ _("Unknown") }}
- {% end %}
- </p>
-
- {% if current_user and current_user.is_admin() %}
- <p>
- {{ _("You may resubmit the job to try again:") }}
- <a href="/job/{{ job.uuid }}/schedule?type=rebuild">{{ _("Re-submit build") }}</a>
- </p>
- {% end %}
- </div>
- </div>
- </div>
- {% end %}
-
- <div class="row">
- <div class="col-12 col-sm-12 col-md-6 col-lg-6 col-xl-6">
- <h3 class="text-center">{{ _("General") }}</h3>
- <div class="table-responsive">
- <table class="table table-striped table-hover">
- <tbody>
- {% if job.rank %}
- <tr>
- <td>
- {{ _("Job rank") }}
- </td>
- <td>
- {{ _("#%s in the build queue") % job.rank }}
- </td>
- </tr>
- {% end %}
- <tr>
- <td>
- {{ _("Time") }}
- </td>
- <td>
- {{ friendly_time(job.duration) }}
- </td>
- </tr>
-
- <tr>
- <td>
- {{ _("Builder") }}
- </td>
- <td>
- {% if job.builder %}
- <a href="/builders/{{ job.builder.name }}">{{ job.builder.name }}</a>
- {% else %}
- <span class="text-muted">{{ _("No builder assigned.") }}</span>
- {% end %}
- </td>
- </tr>
- <tr>
- <td>
- {{ _("Created") }}
- </td>
- <td>
- {{ format_date(job.time_created, full_format=True) }}
- </td>
- </tr>
- {% if job.time_started %}
- <tr>
- <td>
- {{ _("Started") }}
- </td>
- <td>
- {{ format_date(job.time_started, full_format=True) }}
- </td>
- </tr>
- {% end %}
- {% if job.time_finished %}
- <tr>
- <td>
- {{ _("Finished") }}
- </td>
- <td>
- {{ format_date(job.time_finished, full_format=True) }}
- </td>
- </tr>
- {% end %}
- </tbody>
- </table>
- </div>
- </div>
-
- <div class="col-12 col-sm-12 col-md-6 col-lg-6 col-xl-6">
- <h3 class="text-center">{{ _("Build logs") }}</h3>
- {% if job.logfiles %}
- {% module LogFilesTable(job, job.logfiles) %}
- {% else %}
- <p class="muted">{{ _("No logs available, yet.") }}</p>
- {% end %}
-
- {% if job.buildroot %}
- <p class="text-center">
- <a href="/job/{{ job.uuid }}/buildroot">{{ _("Buildroot") }}</a>
- ({{ _("%s package", "%s packages", len(job.buildroot)) % len(job.buildroot) }})
- </p>
- {% end %}
- </div>
- </div>
-
- {% if len(job) > 0 %}
- <div class="row">
- <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
- <h3 style="word-wrap: break-word;">
- {{ _("Package files") }}
- <small>({{ len(job) }})</small>
- </h3>
- </div>
- <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
- {% module PackagesTable(job, job) %}
- </div>
- </div>
- {% end %}
-
- {% if log %}
- <div class="row">
- <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
- <h3 style="word-wrap: break-word;">
- {{ _("Log") }}
- </h3>
- </div>
- <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
- {% module Log(log) %}
- </div>
- </div>
- {% end %}
-{% end block %}