Our Quarkus monorepo CI pipeline had plateaued at 9–11 minutes on GitHub Actions free-tier hosted runners.
After a focused optimisation pass, it now completes in about 5 minutes 20 seconds, without self-hosted runners, larger GitHub runners, or paid caching products.
The key discovery was that the remaining time was not in dependency downloads or Maven compilation. It was in duplicate Quarkus work: repeated augmentation, repeated application boots, and infrastructure startup that some test suites did not actually need.
This post walks through the changes that produced the biggest gains, the ones that barely moved the needle, and the final workflow shape.
The baseline was already heavily optimised






