In 2021, we changed developer testing workflows for Webapp, Slack’s main monorepo, from predominantly testing before merging to a multi-tiered testing workflow after merging. This changed our previous definition of safety and developer workflows between testing and deploys. In this project, we aimed to ensure frequent, reliable, and high-quality releases to our customers for a…
Overview
The article discusses how Slack evolved its CI/CD workflows to balance safety and developer velocity. It highlights the transition from pre-merge testing to a multi-tiered testing approach that improved testing efficiency and reliability while maintaining code quality.
What You'll Learn
How to implement a multi-tiered testing workflow in CI/CD
Why reducing pre-merge test coverage can improve developer velocity
How to create effective alerting mechanisms for CI failures
Prerequisites & Requirements
- Understanding of CI/CD principles and practices
- Familiarity with automated testing frameworks(optional)
Key Questions Answered
What changes did Slack make to improve CI/CD workflows?
How did Slack reduce test turnaround time?
What was the impact on test flakiness after the workflow changes?
Key Statistics & Figures
Technologies & Tools
Some links below are affiliate links. We may earn a commission if you make a purchase.
Key Actionable Insights
1Implement a multi-tiered testing workflow to balance safety and speed.By separating tests into pre-merge and post-merge pipelines, teams can reduce the time developers spend waiting for test results while still ensuring critical tests are run before deployment.
2Create human-centric alerting mechanisms for CI failures.Establishing clear escalation paths and alert systems can help teams quickly identify and resolve issues, minimizing the impact of failures on the development process.
3Focus on reducing flaky tests to improve developer productivity.By addressing the root causes of test flakiness, teams can enhance the reliability of their testing processes, leading to faster development cycles and a better overall experience for engineers.