A Funny Thing Happened on the Way to a CI Build

By: Dan Richman
Jenkins serves hot cocoa

One of the many benefits of working for DockYard is the generous vacation policy. Twice a year the whole company takes time off and there is paid time off to use as we please. Of course, the idea is you’re supposed to recharge your batteries and retreat to rest, relax, and do whatever hobbies and interests you may enjoy. It makes for happier employees and a more efficient team.

Well, a few weeks ago, one of our team members was on vacation. He took the week off and everything was going just fine. That Wednesday I submitted a relatively simple HTML/CSS fix: I updated a class, added the class to a test, and committed it to a pull request. Only, the build didn’t pass.

I did what any good front-end developer who knows how to save time would do. I asked for assistance from another engineer on the project, who could diagnose the issue faster than I could. A few minutes later, she found the problem.

Turns out that our engineer, who was supposed to be on vacation, decided to spend his afternoon contributing to his open source project—which just happened to be a dependency in one of our Node.js modules. His contribution introduced a breaking change that didn’t require SemVer since it was part of an 0.x.x release—and we couldn’t yet upgrade to a newer npm, with version locking, in this particular environment.

In other words, our vacationing engineer managed to contribute to our project even though he wasn’t even on the clock. We figured he was out building a snowman on a mountainside, while drinking hot cocoa.

At DockYard, we give back to the open source community for a number of reasons, not just because it’s a good thing to do. We do it because we enjoy the challenge and the human desire to be able to master a talent. And, apparently, sometimes we even enjoy making those personal contributions when we’re on vacation.