I wrote a post for Strava’s Engineering Blog about how we merge code:
For close to a year, a large portion of our repositories on GitHub have been using a fast-forward-only
masterbranch that is guaranteed to be green (all CI tests have passed) and that is guaranteed to have only Pull Request (reviewed) code in it. Developers fire-and-forget a Slack slash command that squashes their commits, runs all tests, merges their Pull Requests, and cleans up their Git branch. This is the story of how we got there.