Added: unomi/website/contribute/index.html URL: http://svn.apache.org/viewvc/unomi/website/contribute/index.html?rev=1894863&view=auto ============================================================================== --- unomi/website/contribute/index.html (added) +++ unomi/website/contribute/index.html Tue Nov 9 12:04:41 2021 @@ -0,0 +1,218 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + <meta name="description" content=""> + <meta name="author" content=""> + <link rel="icon" href="/assets/images/favicon.ico"> + + <title> | Contribute</title> + + <!-- Google Analytics --> + <script> + (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-70313240-1', 'auto'); + ga('send', 'pageview'); + </script> + <!-- End Google Analytics --> + + <!-- Bootstrap core CSS --> + <link href="/assets/css/bootstrap.min.css" rel="stylesheet"> + <!-- Fontawesome CSS CDN --> + <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous"> + <!-- Custom styles for this template --> + <link href="/assets/css/unomi.css" rel="stylesheet"> +</head> +<body> + +<header> + <nav class="navbar navbar-expand-md navbar-light bg-white fixed-top border-bottom box-shadow"> + <div class="container"> + <a class="navbar-brand" href="/index.html"> + <img src="/assets/images/unomi-86x20.png" alt="Logo Apache Unomi"/> + </a> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + <div class="collapse navbar-collapse justify-content-end" id="navbarCollapse"> + <div> + <ul class="navbar-nav mr-auto align-items-center text-uppercase"> + <li class="nav-item"> + <a class="nav-link" href="/get-started.html">Get started</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/use-cases.html">Use cases</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/stories.html">Stories</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/download.html">Download</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/documentation.html">Documentation</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/resources.html">Resources</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/contribute/index.html">Contribute</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/community/index.html">Community</a> + </li> + <li class="nav-item"> + <a class="nav-link disabled" target="_blank" href="https://www.apache.org"> + <img src="/assets/images/apache-feather-tm-new.png" alt="Logo Apache Feather"/> + </a> + </li> + </ul> + </div> + </div> + </div> + </nav> +</header> + +<main> + <!-- 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="index.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="testing.html">Testing guide</a></li> + <li><a href="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="pre-commit-test-policies.html">Pre-commit test policies</a></li> + <li><a href="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="become-a-committer.html">Become a committer</a></li> + <li><a href="committer-guide.html">Committer guide</a></li> + <li><a href="release-guide.html">Release guide</a></li> + </ul> + </li> + </ul> + </div> + <div class="col-8 pt-3 offset-4"> + <h2 class="pb-1">Apache Unomi Contribution Guide</h2> + <p>The Apache Unomi community welcomes contributions from anyone!</p> + <p>There are lots of opportunities:</p> + <ul> + <li>ask or answer questions on the <a href="../community/index.html">mailing lists</a> or Slack</li> + <li>review proposed design ideas on <a href="../community/index.html">[email protected]</a></li> + <li>improve the documentation</li> + <li>contribute <a target="_blank" href="https://issues.apache.org/jira/browse/UNOMI">bug reports</a></li> + <li>write new examples</li> + </ul> + + <p>Most importantly, if you have an idea of how to contribute, then do it!</p> + + <h3 class="pt-1">Source repository</h3> + <p>This project uses Git to manage its source code. Instructions on Git use can be found at <a target="_blank" href="https://git-scm.com/doc">https://git-scm.com/doc</a></p> + + <h4 class="pt-2">Web Browser Access</h4> + <p>The following is a link to a browsable version of the source repository:<br/> + <a target="_blank" href="https://gitbox.apache.org/repos/asf?p=unomi.git">https://gitbox.apache.org/repos/asf?p=unomi.git</a> + </p> + + <h4 class="pt-2">Anonymous Access</h4> + <p>The source can be checked out anonymously from Git with this command (See <a target="_blank" href="https://git-scm.com/docs/git-clone">https://git-scm.com/docs/git-clone</a>):</p> + <pre class="alert alert-primary"><code>$ git clone https://gitbox.apache.org/repos/asf/unomi.git</code></pre> + + <h4 class="pt-2">Developer Access</h4> + <p>Only project developers can access the Git tree via this method (See <a target="_blank" href="https://git-scm.com/docs/git-clone">https://git-scm.com/docs/git-clone</a>):</p> + <pre class="alert alert-primary"><code>$ git clone https://gitbox.apache.org/repos/asf/unomi.git</code></pre> + + <h4 class="pt-3">Access from Behind a Firewall</h4> + <p>Refer to the documentation of the SCM used for more information about access behind a firewall.</p> + </div> + </div> + </div> + +</main> + +<!-- FOOTER --> +<footer class="container-fluid bg-dark pt-5 pb-3 text-white text-center footer"> + + <div class="container pb-5"> + <div class="row"> + <div class="col-3 col-md-3"> + <h5>Start</h5> + <ul class="list-unstyled text-small"> + <li><a href="/get-started.html" title="Get started">Get started</a></li> + <li><a href="/get-started.html#quickstart" title="Quick start">Quick start</a></li> + <li><a href="/download.html" title="Download">Download</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>Documentation</h5> + <ul class="list-unstyled text-small"> + <li><a href="/documentation.html" title="Main documentation">Main documentation</a></li> + <li><a href="/use-cases.html" title="More use cases">More use cases</a></li> + <li><a href="/rest-api-doc/index.html" title="REST API documentation">REST API documentation</a></li> + <li><a href="/unomi-api/apidocs/index.html" title="API Javadoc">API Javadoc</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>Community</h5> + <ul class="list-unstyled text-small"> + <li><a href="/community/index.html" title="Mailing lists">Contact Us</a></li> + <li><a href="/contribute/index.html" title="Contribute">Contribute</a></li> + <li><a href="/community/team.html" title="Team">Team</a></li> + <li><a href="/community/maturity-model-report.html" title="Maturity model report card">Maturity model report card</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>About</h5> + <ul class="list-unstyled text-small"> + <li><a target="_blank" href="https://www.oasis-open.org/committees/cxs/" title="OASIS Context Server Technical Committee">OASIS CXS Committee</a></li> + <li><a href="/privacy-policy.html" title="Site policy">Site policy</a></li> + <li><a target="_blank" href="https://www.apache.org/events/current-event.html" title="Apache Events">Apache Events</a></li> + <li><a target="_blank" href="https://www.apache.org/licenses/" title="License">License</a></li> + <li><a target="_blank" href="https://www.apache.org/security/" title="Security">Security</a></li> + <li><a target="_blank" href="https://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></li> + <li><a target="_blank" href="https://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li> + </ul> + </div> + <div class="w-100 pt-md-3"></div> + </div> + </div> + + <p class="float-right"><a href="#">Back to top</a></p> + <p>Copyright ©2014 - 2020 <a target="_blank" href="https://www.apache.org">Apache Software Foundation</a> - All Rights Reserved - Powered by <a target="_blank" href="https://karaf.apache.org">Apache Karaf™</a><br/> + Apache Unomi, Unomi, Apache and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p> +</footer> + +<!-- Bootstrap core JavaScript +================================================== --> +<!-- Placed at the end of the document so the pages load faster --> +<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> +<script>window.jQuery || document.write('<script src="/assets/js/vendor/jquery-slim.min.js"><\/script>')</script> +<script src="/assets/js/vendor/popper.min.js"></script> +<script src="/assets/js/vendor/bootstrap.min.js"></script> +</body> +</html> \ No newline at end of file
Added: unomi/website/contribute/post-commit-guides.html URL: http://svn.apache.org/viewvc/unomi/website/contribute/post-commit-guides.html?rev=1894863&view=auto ============================================================================== --- unomi/website/contribute/post-commit-guides.html (added) +++ unomi/website/contribute/post-commit-guides.html Tue Nov 9 12:04:41 2021 @@ -0,0 +1,239 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + <meta name="description" content=""> + <meta name="author" content=""> + <link rel="icon" href="/assets/images/favicon.ico"> + + <title> | Contribute | Post-commit guides</title> + + <!-- Google Analytics --> + <script> + (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-70313240-1', 'auto'); + ga('send', 'pageview'); + </script> + <!-- End Google Analytics --> + + <!-- Bootstrap core CSS --> + <link href="/assets/css/bootstrap.min.css" rel="stylesheet"> + <!-- Fontawesome CSS CDN --> + <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous"> + <!-- Custom styles for this template --> + <link href="/assets/css/unomi.css" rel="stylesheet"> +</head> +<body> + +<header> + <nav class="navbar navbar-expand-md navbar-light bg-white fixed-top border-bottom box-shadow"> + <div class="container"> + <a class="navbar-brand" href="/index.html"> + <img src="/assets/images/unomi-86x20.png" alt="Logo Apache Unomi"/> + </a> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + <div class="collapse navbar-collapse justify-content-end" id="navbarCollapse"> + <div> + <ul class="navbar-nav mr-auto align-items-center text-uppercase"> + <li class="nav-item"> + <a class="nav-link" href="/get-started.html">Get started</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/use-cases.html">Use cases</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/stories.html">Stories</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/download.html">Download</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/documentation.html">Documentation</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/resources.html">Resources</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/contribute/index.html">Contribute</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/community/index.html">Community</a> + </li> + <li class="nav-item"> + <a class="nav-link disabled" target="_blank" href="https://www.apache.org"> + <img src="/assets/images/apache-feather-tm-new.png" alt="Logo Apache Feather"/> + </a> + </li> + </ul> + </div> + </div> + </div> + </nav> +</header> + +<main> + <!-- 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="index.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="testing.html">Testing guide</a></li> + <li><a href="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="pre-commit-test-policies.html">Pre-commit test policies</a></li> + <li><a href="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="become-a-committer.html">Become a committer</a></li> + <li><a href="committer-guide.html">Committer guide</a></li> + <li><a href="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: [email protected]</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>[email protected]</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 [email protected] 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> + +</main> + +<!-- FOOTER --> +<footer class="container-fluid bg-dark pt-5 pb-3 text-white text-center footer"> + + <div class="container pb-5"> + <div class="row"> + <div class="col-3 col-md-3"> + <h5>Start</h5> + <ul class="list-unstyled text-small"> + <li><a href="/get-started.html" title="Get started">Get started</a></li> + <li><a href="/get-started.html#quickstart" title="Quick start">Quick start</a></li> + <li><a href="/download.html" title="Download">Download</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>Documentation</h5> + <ul class="list-unstyled text-small"> + <li><a href="/documentation.html" title="Main documentation">Main documentation</a></li> + <li><a href="/use-cases.html" title="More use cases">More use cases</a></li> + <li><a href="/rest-api-doc/index.html" title="REST API documentation">REST API documentation</a></li> + <li><a href="/unomi-api/apidocs/index.html" title="API Javadoc">API Javadoc</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>Community</h5> + <ul class="list-unstyled text-small"> + <li><a href="/community/index.html" title="Mailing lists">Contact Us</a></li> + <li><a href="/contribute/index.html" title="Contribute">Contribute</a></li> + <li><a href="/community/team.html" title="Team">Team</a></li> + <li><a href="/community/maturity-model-report.html" title="Maturity model report card">Maturity model report card</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>About</h5> + <ul class="list-unstyled text-small"> + <li><a target="_blank" href="https://www.oasis-open.org/committees/cxs/" title="OASIS Context Server Technical Committee">OASIS CXS Committee</a></li> + <li><a href="/privacy-policy.html" title="Site policy">Site policy</a></li> + <li><a target="_blank" href="https://www.apache.org/events/current-event.html" title="Apache Events">Apache Events</a></li> + <li><a target="_blank" href="https://www.apache.org/licenses/" title="License">License</a></li> + <li><a target="_blank" href="https://www.apache.org/security/" title="Security">Security</a></li> + <li><a target="_blank" href="https://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></li> + <li><a target="_blank" href="https://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li> + </ul> + </div> + <div class="w-100 pt-md-3"></div> + </div> + </div> + + <p class="float-right"><a href="#">Back to top</a></p> + <p>Copyright ©2014 - 2020 <a target="_blank" href="https://www.apache.org">Apache Software Foundation</a> - All Rights Reserved - Powered by <a target="_blank" href="https://karaf.apache.org">Apache Karaf™</a><br/> + Apache Unomi, Unomi, Apache and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p> +</footer> + +<!-- Bootstrap core JavaScript +================================================== --> +<!-- Placed at the end of the document so the pages load faster --> +<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> +<script>window.jQuery || document.write('<script src="/assets/js/vendor/jquery-slim.min.js"><\/script>')</script> +<script src="/assets/js/vendor/popper.min.js"></script> +<script src="/assets/js/vendor/bootstrap.min.js"></script> +</body> +</html> \ No newline at end of file Added: unomi/website/contribute/post-commit-policies-details.html URL: http://svn.apache.org/viewvc/unomi/website/contribute/post-commit-policies-details.html?rev=1894863&view=auto ============================================================================== --- unomi/website/contribute/post-commit-policies-details.html (added) +++ unomi/website/contribute/post-commit-policies-details.html Tue Nov 9 12:04:41 2021 @@ -0,0 +1,233 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + <meta name="description" content=""> + <meta name="author" content=""> + <link rel="icon" href="/assets/images/favicon.ico"> + + <title> | Contribute | Post-commit policies details</title> + + <!-- Google Analytics --> + <script> + (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-70313240-1', 'auto'); + ga('send', 'pageview'); + </script> + <!-- End Google Analytics --> + + <!-- Bootstrap core CSS --> + <link href="/assets/css/bootstrap.min.css" rel="stylesheet"> + <!-- Fontawesome CSS CDN --> + <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous"> + <!-- Custom styles for this template --> + <link href="/assets/css/unomi.css" rel="stylesheet"> +</head> +<body> + +<header> + <nav class="navbar navbar-expand-md navbar-light bg-white fixed-top border-bottom box-shadow"> + <div class="container"> + <a class="navbar-brand" href="/index.html"> + <img src="/assets/images/unomi-86x20.png" alt="Logo Apache Unomi"/> + </a> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + <div class="collapse navbar-collapse justify-content-end" id="navbarCollapse"> + <div> + <ul class="navbar-nav mr-auto align-items-center text-uppercase"> + <li class="nav-item"> + <a class="nav-link" href="/get-started.html">Get started</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/use-cases.html">Use cases</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/stories.html">Stories</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/download.html">Download</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/documentation.html">Documentation</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/resources.html">Resources</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/contribute/index.html">Contribute</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/community/index.html">Community</a> + </li> + <li class="nav-item"> + <a class="nav-link disabled" target="_blank" href="https://www.apache.org"> + <img src="/assets/images/apache-feather-tm-new.png" alt="Logo Apache Feather"/> + </a> + </li> + </ul> + </div> + </div> + </div> + </nav> +</header> + +<main> + <!-- 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="index.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="testing.html">Testing guide</a></li> + <li><a href="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="pre-commit-test-policies.html">Pre-commit test policies</a></li> + <li><a href="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="become-a-committer.html">Become a committer</a></li> + <li><a href="committer-guide.html">Committer guide</a></li> + <li><a href="release-guide.html">Release guide</a></li> + </ul> + </li> + </ul> + </div> + <div class="col-8 pt-3 offset-4"> + <h2>Post-commit policies details</h2> + + <p>A post-commit test failure means that there is a bug in the code. The longer the bug exists, the harder it is to fix it due to ongoing code contributions. As a result, we want to fix bugs quickly. The Unomi community's post-commit test policies help keep our code and test results in a good state.</p> + + <h3 id="rollback_first">Rollback first</h3> + + <p>Unomi uses a "rollback first" approach: the first action to resolve a test failure is to rollback the culprit code change. The two main benefits of this + approach are short implementation time and high reliability. When we rollback first, we quickly return to a previously verified good state.</p> + + <p>At a high level, this approach consists of the following steps:</p> + + <ol> + <li>Revert the culprit commit.</li> + <li>Re-run the post-commit tests to verify the tests pass.</li> + <li>Push the revert commit.</li> + </ol> + + <h3 id="failing_test_is_critical_bug">A failing test is a critical/P1 issue</h3> + + <p>It is difficult to properly verify new changes made on top of buggy code. In some cases, adding additional code can make the problem worse. To avoid this situation, fixing failing tests is our highest priority.</p> + + <h3 id="flake_is_failing">A flaky test is a critical/P1 issue</h3> + + <p>Flaky tests are considered failing tests, and fixing a flaky test is a critical/P1 issue.</p> + + <p>Flaky tests are tests that randomly succeed or fail while using the same code version. Flaky test failures are one of the most dangerous types of failures + because they are easy to ignore ???????? another run of the flaky test might pass successfully. However, these failures can hide real bugs and flaky tests often + slowly accumulate. Someone must repeatedly triage the failures, and flaky tests are often the hardest ones to fix.</p> + + <p>Flaky tests do not provide a reliable quality signal, so it is important to quickly fix the flakiness. If a fix will take awhile to implement, it is safer + to disable the test until the fix is ready.</p> + + <p>Martin Fowler has a good <a target="_blank" href="https://martinfowler.com/articles/nonDeterminism.html">article</a> about non-determinism in tests.</p> + + <h3 id="remove_flake">Flaky tests must be fixed or removed</h3> + + <p>Flaky tests do not provide a reliable quality signal, which has a harmful effect on all tests and can lead to a loss of trust in our test suite. As a result, contributors might start to ignore test failures.</p> + + <p>We want everyone to trust our tests, so it is important to diligently fix all laky tests. If it is not possible to fix a flaky test, we must remove the test.</p> + + <h3 id="precommit_for_postcommit">Add new pre-commit tests as part of a post-commit fix</h3> + + <p>Post-commit tests are an important fail-safe, but we want to fail fast. Failing fast means that we want to detect bugs in pre-commit tests, and <em>not</em> in post-commit tests.</p> + + <p>When you implement a fix for a post-commit test failure, add a new pre-commit test that will detect similar failures in the future. For example, you can + implement a new unit test that covers a problematic code branch.</p> + </div> + </div> + </div> + +</main> + +<!-- FOOTER --> +<footer class="container-fluid bg-dark pt-5 pb-3 text-white text-center footer"> + + <div class="container pb-5"> + <div class="row"> + <div class="col-3 col-md-3"> + <h5>Start</h5> + <ul class="list-unstyled text-small"> + <li><a href="/get-started.html" title="Get started">Get started</a></li> + <li><a href="/get-started.html#quickstart" title="Quick start">Quick start</a></li> + <li><a href="/download.html" title="Download">Download</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>Documentation</h5> + <ul class="list-unstyled text-small"> + <li><a href="/documentation.html" title="Main documentation">Main documentation</a></li> + <li><a href="/use-cases.html" title="More use cases">More use cases</a></li> + <li><a href="/rest-api-doc/index.html" title="REST API documentation">REST API documentation</a></li> + <li><a href="/unomi-api/apidocs/index.html" title="API Javadoc">API Javadoc</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>Community</h5> + <ul class="list-unstyled text-small"> + <li><a href="/community/index.html" title="Mailing lists">Contact Us</a></li> + <li><a href="/contribute/index.html" title="Contribute">Contribute</a></li> + <li><a href="/community/team.html" title="Team">Team</a></li> + <li><a href="/community/maturity-model-report.html" title="Maturity model report card">Maturity model report card</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>About</h5> + <ul class="list-unstyled text-small"> + <li><a target="_blank" href="https://www.oasis-open.org/committees/cxs/" title="OASIS Context Server Technical Committee">OASIS CXS Committee</a></li> + <li><a href="/privacy-policy.html" title="Site policy">Site policy</a></li> + <li><a target="_blank" href="https://www.apache.org/events/current-event.html" title="Apache Events">Apache Events</a></li> + <li><a target="_blank" href="https://www.apache.org/licenses/" title="License">License</a></li> + <li><a target="_blank" href="https://www.apache.org/security/" title="Security">Security</a></li> + <li><a target="_blank" href="https://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></li> + <li><a target="_blank" href="https://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li> + </ul> + </div> + <div class="w-100 pt-md-3"></div> + </div> + </div> + + <p class="float-right"><a href="#">Back to top</a></p> + <p>Copyright ©2014 - 2020 <a target="_blank" href="https://www.apache.org">Apache Software Foundation</a> - All Rights Reserved - Powered by <a target="_blank" href="https://karaf.apache.org">Apache Karaf™</a><br/> + Apache Unomi, Unomi, Apache and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p> +</footer> + +<!-- Bootstrap core JavaScript +================================================== --> +<!-- Placed at the end of the document so the pages load faster --> +<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> +<script>window.jQuery || document.write('<script src="/assets/js/vendor/jquery-slim.min.js"><\/script>')</script> +<script src="/assets/js/vendor/popper.min.js"></script> +<script src="/assets/js/vendor/bootstrap.min.js"></script> +</body> +</html> \ No newline at end of file Added: unomi/website/contribute/post-commit-test-policies.html URL: http://svn.apache.org/viewvc/unomi/website/contribute/post-commit-test-policies.html?rev=1894863&view=auto ============================================================================== --- unomi/website/contribute/post-commit-test-policies.html (added) +++ unomi/website/contribute/post-commit-test-policies.html Tue Nov 9 12:04:41 2021 @@ -0,0 +1,242 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + <meta name="description" content=""> + <meta name="author" content=""> + <link rel="icon" href="/assets/images/favicon.ico"> + + <title> | Contribute | Post-commit test policies</title> + + <!-- Google Analytics --> + <script> + (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-70313240-1', 'auto'); + ga('send', 'pageview'); + </script> + <!-- End Google Analytics --> + + <!-- Bootstrap core CSS --> + <link href="/assets/css/bootstrap.min.css" rel="stylesheet"> + <!-- Fontawesome CSS CDN --> + <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous"> + <!-- Custom styles for this template --> + <link href="/assets/css/unomi.css" rel="stylesheet"> +</head> +<body> + +<header> + <nav class="navbar navbar-expand-md navbar-light bg-white fixed-top border-bottom box-shadow"> + <div class="container"> + <a class="navbar-brand" href="/index.html"> + <img src="/assets/images/unomi-86x20.png" alt="Logo Apache Unomi"/> + </a> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + <div class="collapse navbar-collapse justify-content-end" id="navbarCollapse"> + <div> + <ul class="navbar-nav mr-auto align-items-center text-uppercase"> + <li class="nav-item"> + <a class="nav-link" href="/get-started.html">Get started</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/use-cases.html">Use cases</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/stories.html">Stories</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/download.html">Download</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/documentation.html">Documentation</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/resources.html">Resources</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/contribute/index.html">Contribute</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/community/index.html">Community</a> + </li> + <li class="nav-item"> + <a class="nav-link disabled" target="_blank" href="https://www.apache.org"> + <img src="/assets/images/apache-feather-tm-new.png" alt="Logo Apache Feather"/> + </a> + </li> + </ul> + </div> + </div> + </div> + </nav> +</header> + +<main> + <!-- 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="index.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="testing.html">Testing guide</a></li> + <li><a href="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="pre-commit-test-policies.html">Pre-commit test policies</a></li> + <li><a href="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="become-a-committer.html">Become a committer</a></li> + <li><a href="committer-guide.html">Committer guide</a></li> + <li><a href="release-guide.html">Release guide</a></li> + </ul> + </li> + </ul> + </div> + <div class="col-8 pt-3 offset-4"> + <h2>Post-commit tests policies</h2> + + <p>Post-commit tests validate that Unomi works correctly in a live environment. The tests also catch errors that are hard to predict in the design and implementation stages</p> + + <p>Even though post-commit tests run after the code is merged into the repository, it is important that the tests pass reliably. Jenkins executes post-commit tests against the HEAD of the master branch. If post-commit tests fail, there is a problem with the HEAD build. In addition, post-commit tests are time consuming to run, and it is often hard to triage test failures.</p> + + <h3>Policies</h3> + + <p>To ensure that Unomi's post-commit tests are reliable and healthy, the Unomi community follows these post-commit test policies:</p> + + <ul> + <li><a href="post-commit-policies-details.html#rollback_first">Rollback first</a></li> + <li><a href="post-commit-policies-details.html#failing_test_is_critical_bug">A failing test is a critical bug</a></li> + <li><a href="post-commit-policies-details.html#flake_is_failing">A flaky test is a critical bug</a></li> + <li><a href="post-commit-policies-details.html#remove_flake">Flaky tests must either be fixed or removed</a></li> + <li><a href="post-commit-policies-details.html#precommit_for_postcommit">Fixes for post-commit failures should include a corresponding new pre-commit test</a></li> + </ul> + + <h3>Post-commit test failure scenarios</h3> + + <p>When a post-commit test fails, follow the provided steps for your situation.</p> + + <h4>I found a test failure</h4> + + <ol> + <li>Create a <a target="_blank" href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20UNOMI%20AND%20component%20%3D%20test-failures">JIRA issue</a> and assign it to yourself.</li> + <li>Do high level triage of the failure.</li> + <li><a href="post-commit-guides.html#find_specialist">Assign the JIRA issue to a relevant person</a>.</li> + </ol> + + <h4>I was assigned a JIRA issue for a test failure</h4> + + <ol> + <li><a href="post-commit-guides.html#rollback">Rollback the culprit change</a>.</li> + <li>If you determine that rollback will take longer than 8 hours, <a href="post-commit-guides.html#disabling">disable the test temporarily</a> while you rollback or create a fix.</li> + </ol> + + <blockquote> + <p>Note: Rollback is always the first course of action. If a fix is trivial, open a pull request with the proposed fix while doing rollback.</p> + </blockquote> + + <h4>My change was rolled back due to a test failure</h4> + + <ol> + <li>Look at the JIRA issue to find the reason for the rollback.</li> + <li>Fix your code and re-run the post-commit tests.</li> + <li>Implement new pre-commit tests that will catch similar bugs before future code is merged into the repository.</li> + <li>Open a new PR that contains your fix and the new pre-commit tests.</li> + </ol> + + <h3>Useful links</h3> + + <ul> + <li><a href="testing.html#best_practices">Best practices for writing tests</a></li> + </ul> + </div> + </div> + </div> + +</main> + +<!-- FOOTER --> +<footer class="container-fluid bg-dark pt-5 pb-3 text-white text-center footer"> + + <div class="container pb-5"> + <div class="row"> + <div class="col-3 col-md-3"> + <h5>Start</h5> + <ul class="list-unstyled text-small"> + <li><a href="/get-started.html" title="Get started">Get started</a></li> + <li><a href="/get-started.html#quickstart" title="Quick start">Quick start</a></li> + <li><a href="/download.html" title="Download">Download</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>Documentation</h5> + <ul class="list-unstyled text-small"> + <li><a href="/documentation.html" title="Main documentation">Main documentation</a></li> + <li><a href="/use-cases.html" title="More use cases">More use cases</a></li> + <li><a href="/rest-api-doc/index.html" title="REST API documentation">REST API documentation</a></li> + <li><a href="/unomi-api/apidocs/index.html" title="API Javadoc">API Javadoc</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>Community</h5> + <ul class="list-unstyled text-small"> + <li><a href="/community/index.html" title="Mailing lists">Contact Us</a></li> + <li><a href="/contribute/index.html" title="Contribute">Contribute</a></li> + <li><a href="/community/team.html" title="Team">Team</a></li> + <li><a href="/community/maturity-model-report.html" title="Maturity model report card">Maturity model report card</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>About</h5> + <ul class="list-unstyled text-small"> + <li><a target="_blank" href="https://www.oasis-open.org/committees/cxs/" title="OASIS Context Server Technical Committee">OASIS CXS Committee</a></li> + <li><a href="/privacy-policy.html" title="Site policy">Site policy</a></li> + <li><a target="_blank" href="https://www.apache.org/events/current-event.html" title="Apache Events">Apache Events</a></li> + <li><a target="_blank" href="https://www.apache.org/licenses/" title="License">License</a></li> + <li><a target="_blank" href="https://www.apache.org/security/" title="Security">Security</a></li> + <li><a target="_blank" href="https://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></li> + <li><a target="_blank" href="https://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li> + </ul> + </div> + <div class="w-100 pt-md-3"></div> + </div> + </div> + + <p class="float-right"><a href="#">Back to top</a></p> + <p>Copyright ©2014 - 2020 <a target="_blank" href="https://www.apache.org">Apache Software Foundation</a> - All Rights Reserved - Powered by <a target="_blank" href="https://karaf.apache.org">Apache Karaf™</a><br/> + Apache Unomi, Unomi, Apache and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p> +</footer> + +<!-- Bootstrap core JavaScript +================================================== --> +<!-- Placed at the end of the document so the pages load faster --> +<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> +<script>window.jQuery || document.write('<script src="/assets/js/vendor/jquery-slim.min.js"><\/script>')</script> +<script src="/assets/js/vendor/popper.min.js"></script> +<script src="/assets/js/vendor/bootstrap.min.js"></script> +</body> +</html> \ No newline at end of file Added: unomi/website/contribute/pre-commit-test-policies.html URL: http://svn.apache.org/viewvc/unomi/website/contribute/pre-commit-test-policies.html?rev=1894863&view=auto ============================================================================== --- unomi/website/contribute/pre-commit-test-policies.html (added) +++ unomi/website/contribute/pre-commit-test-policies.html Tue Nov 9 12:04:41 2021 @@ -0,0 +1,235 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + <meta name="description" content=""> + <meta name="author" content=""> + <link rel="icon" href="/assets/images/favicon.ico"> + + <title> | Contribute | Pre-commit test policies</title> + + <!-- Google Analytics --> + <script> + (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-70313240-1', 'auto'); + ga('send', 'pageview'); + </script> + <!-- End Google Analytics --> + + <!-- Bootstrap core CSS --> + <link href="/assets/css/bootstrap.min.css" rel="stylesheet"> + <!-- Fontawesome CSS CDN --> + <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous"> + <!-- Custom styles for this template --> + <link href="/assets/css/unomi.css" rel="stylesheet"> +</head> +<body> + +<header> + <nav class="navbar navbar-expand-md navbar-light bg-white fixed-top border-bottom box-shadow"> + <div class="container"> + <a class="navbar-brand" href="/index.html"> + <img src="/assets/images/unomi-86x20.png" alt="Logo Apache Unomi"/> + </a> + <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + <div class="collapse navbar-collapse justify-content-end" id="navbarCollapse"> + <div> + <ul class="navbar-nav mr-auto align-items-center text-uppercase"> + <li class="nav-item"> + <a class="nav-link" href="/get-started.html">Get started</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/use-cases.html">Use cases</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/stories.html">Stories</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/download.html">Download</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/documentation.html">Documentation</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/resources.html">Resources</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/contribute/index.html">Contribute</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="/community/index.html">Community</a> + </li> + <li class="nav-item"> + <a class="nav-link disabled" target="_blank" href="https://www.apache.org"> + <img src="/assets/images/apache-feather-tm-new.png" alt="Logo Apache Feather"/> + </a> + </li> + </ul> + </div> + </div> + </div> + </nav> +</header> + +<main> + <!-- 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="index.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="testing.html">Testing guide</a></li> + <li><a href="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="pre-commit-test-policies.html">Pre-commit test policies</a></li> + <li><a href="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="become-a-committer.html">Become a committer</a></li> + <li><a href="committer-guide.html">Committer guide</a></li> + <li><a href="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> + +</main> + +<!-- FOOTER --> +<footer class="container-fluid bg-dark pt-5 pb-3 text-white text-center footer"> + + <div class="container pb-5"> + <div class="row"> + <div class="col-3 col-md-3"> + <h5>Start</h5> + <ul class="list-unstyled text-small"> + <li><a href="/get-started.html" title="Get started">Get started</a></li> + <li><a href="/get-started.html#quickstart" title="Quick start">Quick start</a></li> + <li><a href="/download.html" title="Download">Download</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>Documentation</h5> + <ul class="list-unstyled text-small"> + <li><a href="/documentation.html" title="Main documentation">Main documentation</a></li> + <li><a href="/use-cases.html" title="More use cases">More use cases</a></li> + <li><a href="/rest-api-doc/index.html" title="REST API documentation">REST API documentation</a></li> + <li><a href="/unomi-api/apidocs/index.html" title="API Javadoc">API Javadoc</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>Community</h5> + <ul class="list-unstyled text-small"> + <li><a href="/community/index.html" title="Mailing lists">Contact Us</a></li> + <li><a href="/contribute/index.html" title="Contribute">Contribute</a></li> + <li><a href="/community/team.html" title="Team">Team</a></li> + <li><a href="/community/maturity-model-report.html" title="Maturity model report card">Maturity model report card</a></li> + </ul> + </div> + + <div class="col-3 col-md-3"> + <h5>About</h5> + <ul class="list-unstyled text-small"> + <li><a target="_blank" href="https://www.oasis-open.org/committees/cxs/" title="OASIS Context Server Technical Committee">OASIS CXS Committee</a></li> + <li><a href="/privacy-policy.html" title="Site policy">Site policy</a></li> + <li><a target="_blank" href="https://www.apache.org/events/current-event.html" title="Apache Events">Apache Events</a></li> + <li><a target="_blank" href="https://www.apache.org/licenses/" title="License">License</a></li> + <li><a target="_blank" href="https://www.apache.org/security/" title="Security">Security</a></li> + <li><a target="_blank" href="https://www.apache.org/foundation/sponsorship.html" title="Sponsorship">Sponsorship</a></li> + <li><a target="_blank" href="https://www.apache.org/foundation/thanks.html" title="Thanks">Thanks</a></li> + </ul> + </div> + <div class="w-100 pt-md-3"></div> + </div> + </div> + + <p class="float-right"><a href="#">Back to top</a></p> + <p>Copyright ©2014 - 2020 <a target="_blank" href="https://www.apache.org">Apache Software Foundation</a> - All Rights Reserved - Powered by <a target="_blank" href="https://karaf.apache.org">Apache Karaf™</a><br/> + Apache Unomi, Unomi, Apache and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p> +</footer> + +<!-- Bootstrap core JavaScript +================================================== --> +<!-- Placed at the end of the document so the pages load faster --> +<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> +<script>window.jQuery || document.write('<script src="/assets/js/vendor/jquery-slim.min.js"><\/script>')</script> +<script src="/assets/js/vendor/popper.min.js"></script> +<script src="/assets/js/vendor/bootstrap.min.js"></script> +</body> +</html> \ No newline at end of file
