blob: ee93e5edd599bd311123f67eef01249a3f3cf319 [file] [log] [blame]
<!doctype html>
<html class="no-js" lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Policy for nightlies.apache.org - Apache Infrastructure Website</title>
<link href="/css/bootstrap.min.css" rel="stylesheet">
<link href="/css/fontawesome.all.min.css" rel="stylesheet">
<link href="/css/headerlink.css" rel="stylesheet">
<script src="/highlight/highlight.min.js"></script> </head>
<body class="d-flex flex-column h-100">
<main class="flex-shrink-0">
<div>
<!-- nav bar -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark" aria-label="Fifth navbar example">
<div class="container-fluid">
<a class="navbar-brand" href="/"><img src="/images/feather.png" style="height: 32px;"/> Apache Infrastructure</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarADP" aria-controls="navbarADP" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarADP">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown" aria-expanded="false">About</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="/team.html">About the team</a></li>
<li><a class="dropdown-item" href="/roundtable.html">The Infrastructure Roundtable</a></li>
<li><a class="dropdown-item" href="/blog/">The Infrastructure Blog</a></li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="/policies.html">Policies</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown" aria-expanded="false">Services and Tools</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="/services.html">Services and Tools</a></li>
<li><a class="dropdown-item" href="/machines.html">Machines and Fingerprints</a></li>
<li><a class="dropdown-item" href="https://blocky.apache.org/">Blocky</a></li>
<li><a class="dropdown-item" href="https://app.datadoghq.com/account/login?next=%2Finfrastructure">DataDog</a></li>
<li><a class="dropdown-item" href="https://whimsy.apache.org/roster/committer/" target="_blank">Committer Search</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown" aria-expanded="false">Documentation</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="/doc.html">Contribute</a></li>
<li><a class="dropdown-item" href="/infra-volunteer.html">Volunteer with Infra</a></li>
<li><a class="dropdown-item" href="/how-to-mirror.html">Become an ASF download mirror</a></li>
<li><a class="dropdown-item" href="/hosting-external-agent.html">Host a Jenkins or Buildbot agent</a></li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="/stats.html">Status</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/contact.html">Contact Us</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- page contents -->
<div id="contents">
<div class="bg-white p-5 rounded">
<div class="col-sm-8 mx-auto">
<h1>
Policy for nightlies.apache.org
</h1>
<p><strong>Note</strong>: this policy may evolve in the course of a larger review of release and download strategies for The ASF.</p>
<p>This document explains <code>nightlies.apache.org</code>: how to use the service and how much data data you can store there for how long, and what Infra expects of users of the service.</p>
<h2>History</h2>
<p>The service was created to replace previous storage services at <code>ci.apache.org/projects</code> (Buildbot) and is also a replacement for artifacts and logs that
were otherwise kept on <code>ci-builds.apache.org</code> (was <code>builds.apache.org</code>) along with the other Controllers (ci-hbase, ci-hadoop etc.).</p>
<h2>Usage</h2>
<p>nightlies, as implied by its name, is designed as a 'short term' storage solution. Examples of how projects use the service are:</p>
<ul>
<li>Nightly Snapshots of trunk/main builds for developer-only testing.</li>
<li>Different website versions - e.g : trunk/main/bleeding edge docs , RC1, $latest release version, $previous release version.</li>
<li>Javadocs / Api Docs.</li>
<li>Logs of jobs.</li>
<li>Artifacts, packages as created by a build or builds.</li>
<li>Historical data for analysis, graphing etc.</li>
<li>A generated index.html to your sub-directories of data.</li>
</ul>
<p><strong>Note</strong>: nightlies is <strong>not an official release channel</strong>. Do not place product release artifacts here. Please review Apache's release distribution policy, especially the section on release channels.</p>
<p>There are various ways to get your data to nightlies.apache.org and this is covered on <code>https://nightlies.apache.org</code> itself.</p>
<h2>Data Retention</h2>
<p>Data of previous jobs, including artifacts and logs, should only be kept for around 30 days as a general guide.
Keeping multiple website versions is fine; and we expect you would want to have a trunk/main version and perhaps
a version of the current release / previous release. Rotate as your releases occur. Release artifacts would obviously be kept
around for more than 30 days, which is fine. The same would apply for apidocs / javadocs.</p>
<p>Generally, Infra is okay with statistical gathering and display for review and further analysis, We do understand
the need for seeing how builds perform over time, but please note that, again, this is considered data that
could be lost. If it is important to your project, you should back it up off-site.</p>
<h2>Expectations</h2>
<p>All data placed on nightlies should be considered 'ephemeral'. Infra does NOT back up nightlies.apache.org.
Ideally, build data/results are reproducible from any previous commit and should be replayed if needed. The
same applies here to your website versions and apidocs / javadocs.</p>
<p>The project should not create permalinks to specific data or specific urls. Consider using symlinks to $trunk, $current,
$previous etc. so that if the data underneath needs to be regenerated, incoming links would continue to work.
Infra will ensure the longevity of project level URIs such as <code>nightlies.apache.org/$project</code>.</p>
<h2>Summary</h2>
<p>nightlies.apache.org is a service provided by Infra for all projects to use. Infra will maintain this service for as long as it sees
it is of benefit to projects. It will guarantee project level urls. Anything underneath <code>nightlies.apache.org/$project/*</code> is not
guaranteed. Data is ephemeral, should be considered volatile and is not backed up. Projects should utilize off site
backups for any data it deems too important to lose. Projects should be able to reproduce the data at any time should
they wish for any restoration of data following data loss (hardware issue etc.).</p>
</div>
</div>
</div>
<!-- footer -->
<div class="row">
<div class="large-12 medium-12 columns">
<p style="font-style: italic; font-size: 0.8rem; text-align: center;">
Copyright 2024, <a href="https://www.apache.org/">The Apache Software Foundation</a>, Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br/>
Apache&reg; and the Apache feather logo are trademarks of The Apache Software Foundation...
</p>
</div>
</div>
<script type="application/ecmascript" src="/js/bootstrap.bundle.min.js" integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3"></script> </div>
</main>
<script>hljs.initHighlightingOnLoad();</script>
</body>
</html>