---
title: Contribute | Pre-commit test policies
layout: default
---

      <!-- Marketing messaging and featurettes
      ================================================== -->
      <!-- Wrap the rest of the page in another container to center all the content. -->

      <div class="container">
        <!-- CONTRIBUTE -->
        <div class="row mb-5 mt-5 pt-3">
          <div class="col-2 sidenav-menu pt-3">
            <div class="pb-3 text-uppercase"><strong>Contribute</strong></div>
            <ul class="list-unstyled mb-3">
              <li><a href="contribute.html">Get started contributing</a></li>
              <li class="sidenav-menu-sub-title">Technical Docs</li>
              <li>
                <ul class="list-unstyled sidenav-menu-sub-list">
                  <li><a href="contribute-testing.html">Testing guide</a></li>
                  <li><a href="contribute-dependencies-guide.html">Dependencies guide</a></li>
                </ul>
              </li>
              <li class="sidenav-menu-sub-title">Policies</li>
              <li>
                <ul class="list-unstyled sidenav-menu-sub-list">
                  <li><a href="contribute-pre-commit-test-policies.html">Pre-commit test policies</a></li>
                  <li><a href="contribute-post-commit-test-policies.html">Post-commit test policies</a></li>
                </ul>
              </li>
              <li class="sidenav-menu-sub-title">Committers</li>
              <li>
                <ul class="list-unstyled sidenav-menu-sub-list">
                  <li><a href="contribute-become-a-committer.html">Become a committer</a></li>
                  <li><a href="contribute-committer-guide.html">Committer guide</a></li>
                  <li><a href="contribute-release-guide.html">Release guide</a></li>
                </ul>
              </li>
            </ul>
          </div>
          <div class="col-8 pt-3 offset-4">
            <h2 id="definitions">Pre-commit test policies</h2>

            <h3>Definition</h3>

            <ul>
              <li>Pre-commit test - Any single test in a pre-commit test suite.</li>
              <li>Pre-commit test suite - A collection of pre-commit tests that have a common denominator. A test suite runs in a single Jenkins job.</li>
            </ul>

            <h3>Policies</h3>

            <h4>Pull Requests</h4>

            <ul>
              <li>A PR must pass pre-commit tests before being committed to the main Unomi repo.
                <ul>
                  <li>The relevant pre-commit test suites are automatically launched according to PR contents.</li>
                </ul>
              </li>
            </ul>

            <h4>Problems</h4>

            <h5>Breakage</h5>

            <p>Breakage is when one or more tests in a pre-commit test suite fails or is flaky (occasionally fails).</p>

            <ul>
              <li>Breakages should be fixed within 8 hours.</li>
            </ul>

            <h5>Slowness</h5>

            <p>Slowness is when the total time to run a pre-commit suite exceeds 30 minutes*, including the time the job spends in the Jenkins queue.</p>

            <ul>
              <li>Slowness should be fixed within 24 hours.</li>
            </ul>

            <h4>Problem Resolution</h4>

            <p>For any problem, the options are, one of:</p>

            <ul>
              <li>Roll back the culprit PR.</li>
              <li>Roll out a fix within 24 hours.</li>
              <li>Disable the slow test or feature temporarily (make sure there is a tracking issue to re-enable it).</li>
            </ul>
          </div>
        </div>
      </div>
