The Curious Case of a Ghost in CI
I don’t believe in ghosts. But something spooky happened to me only a few minutes ago, and sitting in the melancholic darkness of 3AM, I couldn’t think of a more fitting name than “The Ghost in the CI.” It started with a change I made in the HTML template of a Flask app. This app spawns some other apps on-demand with Nomad (which has similar capabilities as Kubernetes). The app accesses Nomad through a third-party wrapper library for the API. This library has a method to get the status of a deployment. The app calls this method as part of a health check for the deployed app during the tests. This method shouldn’t ever return None as per the source code. But it did. My code didn’t handle that case and it crashed. ...