Finding why a CI job failed the easy way

Have you ever had a CI job fail, and had to page though masses of logs saying things downloaded, things worked successfully, things installed, etc. before you reach the actual failure point? Have you tried searching for strings like “Error” or “Failure” only to be taken to a line that says “0 Failures” or “0 Errors”, or even worse to a line that says failure, but it’s turns out that it’s normal for that to fail - perhaps it’s part of a test of error trapping code? Sometimes you can find the error quickly by skipping to the bottom and working backwards, but if the error doesn’t quite make sense you have a suspicion that something out of the ordinary may have happened earlier in the build process, but it’s like a needle in a haystack to find it? - Then you need Log diff.

Log-diff eliminates everything “normal” from your logs by comparing it to logs of previous successful runs. You can quickly find the lines that contain something out of the ordinary, with all the normal lines collapsed down out of your way (You can expand a few lines of context if you need to figure out where you are). As you scroll down, any lines that occurred in the last successful run will be hidden by default. Any lines you see will be related to the error, or to new code or tests that are part of your branch.

The project is in an early alpha stage at the moment. You can either uploade 2 log files for comparison in the UI, or it integrates with Github Actions where it will list branches with CI failures and offer to compare them with the last working version of that branch automatically.

Try the project here

Written on May 17, 2024