Why so many libraries on github say that their builds are failing?

This has been going on more months and I’m not sure why.
Like even the official one say this.

The answer will be different for each and every repository. Some answers might include:

  • The badges often reflect the state of the tip of the dev branch — and not the release branch. Sometimes dev test suites fail more frequently than ones targeted for release.
  • Test suites often encapsulate many configurations, and it only takes one to fail for the summary to be a big red box. Sometimes these failing configurations aren’t necessarily problematic, but they’re sometimes not marked optional.
  • Test suites sometimes fail for very mundane reasons — like HTTP connectivity or timeouts.
  • Thorough test suites sometimes trip over sporadic and hard-to-nail down bugs that aren’t easily reproducible. These take time and often significant effort to find and fix.
  • Sometimes the problem is in the testing infrastructure itself, and has nothing to do with the particular repository’s code.

In the specific case of Julia itself, you can click the badge to see what happened for the most recent build. The most recent pipeline (as of this comment, build 34231) did fail. The tests used nearly 22 hours worth of computer time. You can see that currently Julia is built and tested across 13 different configurations of macOS, Windows, Linux, and FreeBSD, with an additional 9 code quality kinds of checks. Some of those configurations are works-in-progress — those are the ones allowed to fail so if/when they fail, it doesn’t count as a “failing build.” (These configurations are all Support Tier 2 or 3). I only list this all out here because I think it’s helpful to see the scope of what’s behind the green- or red- image.

In this particular pipeline, one required configuration did fail — the x86-64 windows build failed. That’s why the box is red. Why did that fail? The logs report that it “Received cancellation signal, interrupting.” Why did that happen? :person_shrugging: I have no idea, but if you’re interested in supporting and improving the testing and testing infrastructure, you can join the Continuous Integration working group: Working Groups. As you might imagine, this all reflects a good amount of effort!

17 Likes