# Failing builds on GitHub

**URL:** https://discourse.julialang.org/t/failing-builds-on-github/82344
**Category:** Internals & Design
**Created:** [June 6, 2022, 8:23pm UTC](https://discourse.julialang.org/t/failing-builds-on-github/82344 "2022-06-06T20:23:56Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![patrick](https://avatars.discourse-cdn.com/v4/letter/p/b2d939/32.png) [@patrick](https://discourse.julialang.org/u/patrick)
#### Post date: [June 6, 2022, 8:23pm UTC](https://discourse.julialang.org/t/failing-builds-on-github/82344/1 "2022-06-06T20:23:57Z")

</div>

I noticed that the continuous integration builds are frequently failing on GitHub: [master builds · julia-master](https://buildkite.com/julialang/julia-master/builds?branch=master). I flipped through the last 20 pages there and saw a significant percentage of failed builds.

Further, even in the builds that pass, it seems there are failed tests. For example, in the “coverage” box for this build, I see failed tests: [julia-master #12619](https://buildkite.com/julialang/julia-master/builds/12619#0181380e-6517-4d46-b243-05cb219acbdd).

What’s going on here? I have no professional experience in software development, but my amateur understanding is that failing tests ought to make the build fail, and failed builds should be rare. Probably there’s a good reason things are they way they are, I’m just curious what that is.

(Also, are questions like this better for the Slack?)

---

<div class="post-metadata">

### Author: ![dilumaluthge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dilumaluthge/32/29283_2.png) [@dilumaluthge](https://discourse.julialang.org/u/dilumaluthge)
#### Post date: [June 6, 2022, 9:24pm UTC](https://discourse.julialang.org/t/failing-builds-on-github/82344/2 "2022-06-06T21:24:36Z")

</div>

For the `Coverage` job specifically, it is known that some tests are expected to fail when code coverage emission is enabled. So we allow the `Coverage` job to pass even if some of the tests don’t pass. This is perfectly fine; the purpose of the `Coverage` job is not to determine whether or not the tests passed, but rather to determine the code coverage.

---

<div class="post-metadata">

### Author: ![dilumaluthge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dilumaluthge/32/29283_2.png) [@dilumaluthge](https://discourse.julialang.org/u/dilumaluthge)
#### Post date: [June 6, 2022, 9:30pm UTC](https://discourse.julialang.org/t/failing-builds-on-github/82344/3 "2022-06-06T21:30:00Z")

</div>

On the other hand, the purpose of the `Test` group is indeed to know whether or not our tests are passing, so failures of jobs in the `Test` group is bad. As you noticed, we have several non-deterministic failures that occur in jobs within the `Test` group. We’re working on fixing those, and eventually we’d like Buildkite to be consistently green on master, but we’re not there yet.

If anyone is interested in helping out, please join us in the `#ci-dev` channel on Slack.
