<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<meta content="text/html; charset=US-ASCII" http-equiv="Content-Type">
<title>
GitLab
</title>


<style>img {
max-width: 100%; height: auto;
}
</style>
</head>
<body>
<div class="content">

<p class="details" style="font-style: italic; color: #777;">
<a href="https://gitlab.com/proksch">Sebastian P.</a> created an issue:
</p>
<div></div>
<p dir="auto">To fully benefit from the advantages of CI/CD, developers need to follow certain principles. Many of these principles have been introduced in the landmark book <a href="https://www.oreilly.com/library/view/continuous-delivery-reliable/9780321670250/" rel="nofollow noreferrer noopener" target="_blank">Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation</a> and are nowadays widely accepted. One of these principles is:</p>
<blockquote dir="auto">
<p>The build process has to be deterministic. Flaky behavior, e.g., tests that sometimes fail, should be avoided at all cost, because this causes maintenance issues. However, addressing this issue through retries after failures might not only hide the underlying problem, but makes issues also harder to debug when they only occur sometimes.</p>
</blockquote>
<p dir="auto"><strong>Problem</strong>: We analyzed your project and found that the file <a href="https://gitlab.com/gnutls/gnutls/blob/master/.gitlab-ci.yml#L524">.gitlab-ci.yml</a> (line 524) violates this principle. The job <code>Debian.cross.i686-linux-gnu</code> (in stage <code>stage1-testing</code>) is set to be retried in case of failures:</p>
<pre class="code highlight js-syntax-highlight plaintext" lang="plaintext" v-pre="true"><code><span id="LC1" class="line" lang="plaintext">Debian.cross.i686-linux-gnu:</span>
<span id="LC2" class="line" lang="plaintext">    ...</span>
<span id="LC3" class="line" lang="plaintext">    retry: 1</span>
<span id="LC4" class="line" lang="plaintext">    ...</span></code></pre>
<p dir="auto"><strong>Suggested Fix:</strong> Remove <code>retry: 1</code> from the job definition or consider adding the option <code>when</code> to specify failures cases (e.g., <code>runner_system_failure</code>) in which the job can be retried without hiding flaky tests.</p>
<p dir="auto"><strong>Disclaimer:</strong>
This issue has been automatically reported by <a href="https://bitbucket.org/sealuzh/cd-linter/" rel="nofollow noreferrer noopener" target="_blank">CD-Linter</a>, a tool developed at the <a href="https://www.uzh.ch/" rel="nofollow noreferrer noopener" target="_blank">University of Zurich</a> that detects CI/CD violations in the GitLab CI/CD pipeline configuration.
We are currently evaluating the effectiveness of our tool and we are monitoring this issue.</p>
<p dir="auto"><em>Please up/downvote this issue to indicate whether you agree/disagree with the report.</em></p>

</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #777;">

<br>
Reply to this email directly or <a href="https://gitlab.com/gnutls/gnutls/issues/819">view it on GitLab</a>.
<br>
You're receiving this email because of your account on gitlab.com.
If you'd like to receive fewer emails, you can
<a href="https://gitlab.com/sent_notifications/b87c39b58e1cb895037fdb7b2a9f4a02/unsubscribe">unsubscribe</a>
from this thread or
adjust your notification settings.
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Issue","url":"https://gitlab.com/gnutls/gnutls/issues/819"}}</script>


</p>
</div>
</body>
</html>