
How I Cut Our GitHub Actions Pipeline Time by More Than 50%
Problem Our CI pipeline was taking 20 minutes on average to finish in every pull request. It wasn't reliable either because tools installation would occasionally fail due to network issues or rate limits. Our team needed a faster feedback loop. flowchart TB A[PR opened / pushed] --> B[Install tools] B --> C[Kubernetes cluster setup] C --> D[Build services, Run tests, Lint] The project is a medium-complexity Go codebase with several microservices. For every PR, each workflow went through the same steps: checkout, install a suite of binary tools, build, test, etc. Build and unit tests were fast by themselves. Most of the time was consumed by installing those binary tools on every single run. And since these installations depended on external networks, they were a constant source of inconsistent failures, which led workflows to fail for unrelated reasons. We had been recording per-step timing via OpenTelemetry. Looking at the data, tool installation was repeated on every single run despit
Continue reading on Dev.to
Opens in a new tab



