
<!DOCTYPE html>

<html lang="en">
<meta charset="utf-8">
<meta name="google" value="notranslate">
<title>linux-rel | Builder</title>
<link rel="stylesheet" href="/static/buildbot/css/default.css" type="text/css">
<link rel="stylesheet" href="/static/common/third_party/css/jquery-ui.min.css" type="text/css">
<link rel="stylesheet" href="/static/common/third_party/css/vis.min.css" type="text/css">
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="LUCI" />
<script src="/static/common/third_party/js/moment-with-locales.min.js"></script>
<script src="/static/common/third_party/js/moment-timezone-with-data-2012-2022.min.js"></script>
<script src="/static/common/js/time.js"></script>
<script src="/static/common/third_party/js/jquery.min.js"></script>
<script src="/static/common/third_party/js/jquery-ui.min.js"></script>
<script src="/static/common/third_party/js/vis-custom.min.js"></script>

<link id="favicon" rel="shortcut icon" type="image/png" href="/static/common/favicon/milo-32.png">

  <link rel="stylesheet" href="/static/common/css/builder.css" type="text/css">


<body class="interface">
  
  <div id="main">
    <header>
      <div>
        <a href="/" aria-label="Home page">Home</a> |
        <a href="/search" aria-label="Search page">Search</a>
      </div>
      <div>
        
          <a href="http://fake.example.com/login?dest=%2Ffoobar" alt="Login">Login</a>
        
      </div>
    </header>
    <hr>
    






<h1>Builder <a href="/p/chromium/builders/try/linux-rel">linux-rel</a></h1>

  <p id="builder-description">this is a builder</p>


<div class="prelude">
  <div class="column">
  
  </div>

  
  <div class="column">
    <h2>Started builds (2 most recent)
    </h2>

    <ul>
    
      <li><a href="/p/chromium/builders/try/linux-rel/b3" aria-label="Build 3">3</a>
        [Running for: 51 days 3 hrs]
      </li>
    
      <li><a href="/p/chromium/builders/try/linux-rel/1" aria-label="Build 1">1</a>
        [Running for: 51 days 3 hrs]
      </li>
    
    </ul>
  </div>

  <div class="column">
    <h2>Scheduled builds (2 most recent)
    </h2>
    <ul><li><a href="/p/chromium/builders/try/linux-rel/b1" aria-label="Build 1">1</a>
        <small>(<span class="local-time " data-timestamp="1544748000000">Friday, 14-Dec-18 00:40:00 UTC</span>, waiting 51 days 3 hrs)</small>
      </li><li><a href="/p/chromium/builders/try/linux-rel/1" aria-label="Build 1">1</a>
        <small>(<span class="local-time " data-timestamp="1544748000000">Friday, 14-Dec-18 00:40:00 UTC</span>, waiting 51 days 3 hrs)</small>
      </li></ul>
  </div>
</div>

<div class="clear"></div>

<div class="main">
  <h2>Ended builds</h2>
  
    <table class="info">
      <tr>
        <th>Create time</th>
        <th>End time</th>
        <th>Run duration</th>
        <th>Commit</th>
        <th>Changes</th>
        <th>Status</th>
        <th>Build #</th>
        <th>Summary</th>
      </tr>

      
        <tr>
          <td><span class="local-time " data-timestamp="1544748000000">Friday, 14-Dec-18 00:40:00 UTC</span></td>
          <td><span class="local-time " data-timestamp="1544748020000">Friday, 14-Dec-18 00:40:20 UTC</span></td>
          <td>N/A</td>
          <td class="revision"><a href="https://chromium.googlesource.com/chromium/src/&#43;/e57f4e87022d765b45e741e478a8351d9789bc37" aria-label="commit e57f4e87022d765b45e741e478a8351d9789bc37">e57f4e87022d765b45e741e478a8351d9789bc37</a></td>
          <td>
            <a href="https://chromium.googlesource.com/c/123/1" aria-label="gerrit changelist number 123 patchset 1">CL 123 (ps#1)</a>, <a href="https://chromium.googlesource.com/c/200/1" aria-label="gerrit changelist number 200 patchset 1">CL 200 (ps#1)</a>
          </td>
          <td class="status SUCCESS">SUCCESS</td>
          <td><a href="/p/chromium/builders/try/linux-rel/b5" aria-label="Build 5">5</a></td>
          <td class="left summary-markdown"></td>
        </tr>
      
        <tr>
          <td><span class="local-time " data-timestamp="1544748000000">Friday, 14-Dec-18 00:40:00 UTC</span></td>
          <td><span class="local-time " data-timestamp="1544748020000">Friday, 14-Dec-18 00:40:20 UTC</span></td>
          <td>10 secs</td>
          <td class="revision"><a href="https://chromium.googlesource.com/chromium/src/&#43;/e57f4e87022d765b45e741e478a8351d9789bc37" aria-label="commit refs/heads/main@{#32}">refs/heads/main@{#32}</a></td>
          <td>
            <a href="https://chromium.googlesource.com/c/123/1" aria-label="gerrit changelist number 123 patchset 1">CL 123 (ps#1)</a>
          </td>
          <td class="status FAILURE">FAILURE</td>
          <td><a href="/p/chromium/builders/try/linux-rel/1" aria-label="Build 1">1</a></td>
          <td class="left summary-markdown"></td>
        </tr>
      
        <tr>
          <td><span class="local-time " data-timestamp="1544748000000">Friday, 14-Dec-18 00:40:00 UTC</span></td>
          <td><span class="local-time " data-timestamp="1544748020000">Friday, 14-Dec-18 00:40:20 UTC</span></td>
          <td>10 secs</td>
          <td class="revision"><a href="https://chromium.googlesource.com/chromium/src/&#43;/e57f4e87022d765b45e741e478a8351d9789bc37" aria-label="commit refs/heads/main@{#32}">refs/heads/main@{#32}</a></td>
          <td>
            
          </td>
          <td class="status FAILURE">FAILURE</td>
          <td><a href="/p/chromium/builders/try/linux-rel/1" aria-label="Build 1">1</a></td>
          <td class="left summary-markdown"></td>
        </tr>
      
    </table>
  
</div>

<div class="epiloge">
  
  (Show:
  <a href="/p/chromium/builders/try/linux-rel">default</a>
  <a href="/p/chromium/builders/try/linux-rel?limit=25">25</a>
  <a href="/p/chromium/builders/try/linux-rel?limit=50">50</a>
  <a href="/p/chromium/builders/try/linux-rel?limit=100">100</a>
  <a href="/p/chromium/builders/try/linux-rel?limit=200">200</a>
  )
  
    <a href="/p/chromium/builders/try/linux-rel?cursor=next-page-token">Next</a>
  
</div>



    <footer>
      <hr>
        <div><img class="lucy-logo" src="https://storage.googleapis.com/chrome-infra/lucy-small.png"></div>
        <div>
          <a href="https://chromium.googlesource.com/infra/luci">LUCI</a><br>
          built: <b><span class="local-time " data-timestamp="1549166706000">Sunday, 03-Feb-19 04:05:06 UTC</span></b><br>
          version: <b>testVersionID</b><br>
        </div>
    </footer>
  </div>
</body>
<script>
$(function () {
  'use strict';
  
  setTimeout(function() {
    milo.makeTimesLocal();
    milo.annotateDurations();
  }, 0);
  $(document).tooltip({
    show: false,
    hide: false
  });
});
</script>
<script>
  (function(i,s,o,g,r,a,m){i['CrDXObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','https://storage.googleapis.com/chops-feedback/feedback.js','crdx');

  crdx('setFeedbackButtonLink', 'https://bugs.chromium.org/p/chromium/issues/entry?components=Infra%3EPlatform%3EMilo');

(function(window) {
  let lastWindowScrollTop = window.scrollY;

  function debounce(f, wait) {
    let timeout;
    return function(...args) {
      if (timeout) {
        clearTimeout(timeout);
      }
      timeout = setTimeout(() => {
        f(...args);
        timeout = null;
      }, wait);
    };
  }

  window.addEventListener('scroll', debounce(function(evt) {
    const delta = window.scrollY - lastWindowScrollTop;
    lastWindowScrollTop = window.scrollY;
    const absDelta = Math.abs(delta);
    const category = window.location.pathname.split('/').slice(0, 2).join('/');
    ga('send', 'event', category, 'scroll-abs', '', absDelta);
    if (delta > 0) {
      ga('send', 'event', category, 'scroll-down', '', absDelta);
    } else {
      ga('send', 'event', category, 'scroll-up', '', absDelta);
    }
  }, 250));
})(window);
</script>

<script>
setTimeout(function() {
	(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
	(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
	m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
	})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

	ga('create', 'UA-12345-01', 'auto');
	ga('send', 'pageview');
}, 0);
</script>

</html>
