Fair enough. If I were fixing this, I’d write a script (Bash/Python/whatever) to:
- Try NPM operations with a timeout
- If they fail, pause and retry, up to a predefined limit
This may be a bit hacky, and it may still fail completely, but perhaps more builds will go through than do at present.
I’d add that if this is an ongoing issue, it’s a business risk that you need to address. Could you set up an NPM proxy that contains copies of the dependencies you need? Of course, this “should not” be necessary, but…
I doubt that will happen, to be honest. If you can prove it’s a CircleCI problem, then I’d expect them to look into it, but presently I don’t think that is certain, and the issue needs more digging on your side. (I can’t speak for them, but like web hosts, there is only so much stuff outside of their network that support staff can be responsible for).