blob: 5ea9d49747e79cb5199ef9c25e40426c30e06de4 [file] [log] [blame]
---
title: Contribute | Post-commit guides
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>Post-commit test task guides</h2>
<p>These guides provide steps for common post-commit test failure tasks.</p>
<h3 id="find_specialist">Finding someone to triage a post-commit test failure</h3>
<p>To find the proper person to triage a test failure, you can use these suggestions:</p>
<ol>
<li>If you can triage it yourself, go for it.</li>
<li>Look at the GitHub blame for the files with problematic code.</li>
<li>Ask in the <a target="_blank" href="https://the-asf.slack.com/messages/CBP2Z98Q7/">Unomi Slack chat</a>.</li>
<li>Write to the dev list: dev@unomi.apache.org</li>
</ol>
<h3 id="rollback">Rolling back a commit</h3>
<p>Rolling back is usually the fastest way to fix a failing test. However it is often inconvenient for the original author. To help the author fix the issue, follow these steps when you rollback someone's change.</p>
<ol>
<li>Rollback the PR.</li>
<li>Create a JIRA issue that contains the following information:
<ul>
<li>the reason for the rollback</li>
<li>a link to the test failure's JIRA issue</li>
<li>triage information</li>
<li>any other relevant details</li>
</ul>
</li>
<li>Assign the new JIRA issue to the original PR author.</li>
<li>Consider re-opening the JIRA issue associated with the original PR (if there is one).</li>
<li>Send a notification email with information about the rollback, links to the original PR and the rollback PR, and the reasons for the rollback to:
<ul>
<li>dev@unomi.apache.org</li>
<li>the original PR author and the committer of the PR</li>
</ul>
</li>
<li>Close the test failure JIRA issue. Your work is done here!</li>
</ol>
<h3 id="disabling">Disabling a failing test</h3>
<p>If a test fails, our first priority is to rollback the problematic code and fix the issue. However, if both: rollback and fix will take awhile to implement, it is safer to temporarily disable the test until the fix is ready.</p>
<p>Use caution when deciding to disable a test. When tests are disabled, contributors are no longer developing on top of fully tested code. If you decide to disable a test, use the following guidelines:</p>
<ul>
<li>Notify the dev@unomi.apache.org mailing list. Describe the problem and let everyone know which test you are disabling.</li>
<li>Implement the fix and get the test back online as soon as possible.</li>
</ul>
<p>While the test is disabled, contributors should not push code to the failing test's coverage area. The code area is not properly tested until you fix the test.</p>
</div>
</div>
</div>