Terraform init is slow

In a basic minimal AWS VPC test, it takes 10 seconds for ci every time to run terraform init every time.

This seems unnecessary if the result is cached, and the versions inputs and results are cached. So why can’t terraform init use serialisation on the local cache and inputs to determine quickly if terraform init is required again? Terraform init should be instant if the result output in .terraform is the same.

Perhaps I’m not getting the nuance of why this command shouldn’t be much faster though…

Short of this feature existing is there any logic I could apply in ci to determine what conditions should trigger init and update a cache in circle ci?