Today at my internship I merged a PR that broke the master branch.

Surprisingly, it wasn’t a big deal. As soon as the issue was reported to my team, I knew which commit was to blame. I pushed up a branch that reverted that commit and waited for it to pass CI. On the recommendation of my mentor, I sent a Slack message to the whole engineering group letting them know that someone had broken master and a fix was incoming.

Once the fix was merged, I looked into the cause. As it turned out, the problem was in the application host — it was passing incorrect information to the application, and my changes required that information to be correct. Previously, nothing in the application actually relied on it. I had already fixed the bug in the application host last week, but those changes were still not a branch (not merged to master). So I managed to break master with a bug I had already written the code to fix. Nice!

The whole experience was not bad at all. It was easy to communicate about and fix the issue. The rest of my team (and the wider engineering group) was understanding and approached it from the perspective of solving a problem together, not assigning blame. I think I expected that if/when I broke master, it would feel far more stressful than it actually did. I am quite glad to work with such a supportive and functional group of people! 😊