I’m trying to shorten my CI time and cache dependencies on a windows executor CI flow.
Tried quite a few methods but none seem to work proper.
Any reference? (currently mostly using choco to install dependencies)
Using restore_cache/save_cache seems to be unfit for it, due to size and possibly other needed changes like registry changes etc.
Any updates on this? I also have the same problem. I spend around 8 minutes installing dependencies with choco. Since the window’s build doesn’t support using docker images, I’m wondering how we can cache the dependencies installed by choco?
I can not provide a solution that works with standard CI instances as their inherent design is that of providing a clean environment every time they are started up. This will always have a major impact if you need to create a complex/large based environment to allow your CI task to be performed.
The caching features available allow the state of an environment to be moved between instances but is not ideal for large data sets as it uses compression/decompression, while also limited to the I/O limits of the data center and instance environments.
CircleCI does have an alternative option with its self hosted runners. This allows a system you own or a hosted instance you rent to act as a target for Jobs. The advantage is that it is persistent, so you can modify your task to store files on the runner that can be reused every time the job is run.
To be honest it is this feature that caused me to move to CircleCI last year as our workflows have the same issue and we had the capacity on hosted VMWARE instances to define runners without any additional costs.