Projects

Release Day Was 3 Hours of Manual Pain. I Automated It Down to 15 Minutes.

Manual release branches. Copy-paste version bumps. Three hours every sprint. Somebody always forgot a step. Somebody always merged to the wrong branch. Every two weeks, the same story: create the release branch, bump versions across five files, update changelogs, merge to staging, tag, pray. Wrong branch merged meant a hotfix got lost. Version bump forgotten meant the build failed in QA. And when the release manager was on vacation? Chaos. Nobody knew all the steps because the steps lived in someone's head, not in code. The fix is a Bash tool that talks to the Bitbucket API. One command creates the release branch from develop, bumps versions across all config files, opens pull requests with the right reviewers already assigned, tags the release, and updates the changelog. Before: 3 hours, 5 people, errors every sprint. After: 15 minutes, one command, zero mistakes. Any developer on the team can run it. No tribal knowledge required. The release process is in the code now, not in someone's memory. Three principles that guided the work: if you do something more than twice, script it. If it requires tribal knowledge, put that knowledge in code. If the process scares people, make it…