Skip to content

Commit

Permalink
Add warning on build page if there are no builds
Browse files Browse the repository at this point in the history
  • Loading branch information
Nemo157 authored and syphar committed Feb 21, 2024
1 parent 6d55843 commit 8d9c5f8
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 22 deletions.
9 changes: 9 additions & 0 deletions src/web/builds.rs
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,15 @@ mod tests {

assert!(rows.is_empty());

let warning = page
.select_first(".warning")
.expect("missing warning element")
.text_contents();

assert!(warning.contains("has not built"));
assert!(warning.contains("queued"));
assert!(warning.contains("open an issue"));

Ok(())
});
}
Expand Down
54 changes: 32 additions & 22 deletions templates/crate/builds.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,30 +30,40 @@
{%- block body -%}
<div class="container">
<div class="recent-releases-container">
<div class="release">
<strong>Builds</strong>
</div>
{%- if builds -%}
<div class="release">
<strong>Builds</strong>
</div>

<ul>
{%- for build in builds -%}
<li>
<a href="/crate/{{ metadata.name }}/{{ metadata.version }}/builds/{{ build.id }}" class="release">
<div class="pure-g">
<div class="pure-u-1 pure-u-sm-1-24 build">
{%- if build.build_status -%}
{{ "check" | fas }}
{%- else -%}
{{ "x" | fas }}
{%- endif -%}
<ul>
{%- for build in builds -%}
<li>
<a href="/crate/{{ metadata.name }}/{{ metadata.version }}/builds/{{ build.id }}" class="release">
<div class="pure-g">
<div class="pure-u-1 pure-u-sm-1-24 build">
{%- if build.build_status -%}
{{ "check" | fas }}
{%- else -%}
{{ "x" | fas }}
{%- endif -%}
</div>
<div class="pure-u-1 pure-u-sm-10-24">{{ build.rustc_version }}</div>
<div class="pure-u-1 pure-u-sm-10-24">{{ build.docsrs_version }}</div>
<div class="pure-u-1 pure-u-sm-3-24 date">{{ build.build_time | timeformat(relative=true) }}</div>
</div>
<div class="pure-u-1 pure-u-sm-10-24">{{ build.rustc_version }}</div>
<div class="pure-u-1 pure-u-sm-10-24">{{ build.docsrs_version }}</div>
<div class="pure-u-1 pure-u-sm-3-24 date">{{ build.build_time | timeformat(relative=true) }}</div>
</div>
</a>
</li>
{%- endfor -%}
</ul>
</a>
</li>
{%- endfor -%}
</ul>
{%- else -%}
<div class="warning">
docs.rs has not built {{ metadata.name }}-{{ metadata.version }}
<br>
It may still be <a href="/releases/queue">queued</a> or in-progress.
<br>
If you believe this is docs.rs' fault, <a href="https://github.com/rust-lang/docs.rs/issues/new/choose">open an issue</a>.
</div>
{%- endif -%}

<div class="about">
{# BuildsPage.metadata is an `Option<MetaData>`, so accessing it can fail #}
Expand Down

0 comments on commit 8d9c5f8

Please sign in to comment.