We have had awesome success with Buildkite [0] and self hosted build agents on EC2. We use the provided autoscale lambda and it’s pretty hands off system [1]. You also get the upside of controlling how much local caching you want to do.
1 - https://buildkite.com/docs/tutorials/elastic-ci-stack-aws