How RevenueCat’s SDK team uses Release Trains
Blog post from RevenueCat
RevenueCat has streamlined its release process for multiple SDKs across various platforms, including Apple, Android, and frameworks like Flutter and React Native, by automating updates and deployments. Previously, the release of new features or bug fixes required a manual, multi-step process that was slow and prone to errors. This inefficiency prompted the implementation of a more automated system using tools like fastlane and CircleCI, enabling scheduled weekly releases and eliminating manual preparation. The company adopted a labeling system for pull requests to categorize changes, facilitating automatic version determination according to semantic versioning. By leveraging GitHub labels, they avoid the complexity associated with commit message conventions like semantic-release. RevenueCat has also implemented automated changelog generation and ensured that all steps are unit tested to maintain reliability. The improvements have significantly reduced the time between releases and enhanced overall efficiency, reflecting the company's commitment to its value of "always be shipping" while maintaining the integrity of its critical infrastructure services.