From 85fabeef979d5614a76335eb42513d2c65b57050 Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Mon, 1 Jun 2020 07:24:28 +0200
Subject: [PATCH] fix(yarn): set network timeout

---
 .../post-update/__snapshots__/yarn.spec.ts.snap  | 16 ++++++++--------
 lib/manager/npm/post-update/yarn.ts              |  4 ++--
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/lib/manager/npm/post-update/__snapshots__/yarn.spec.ts.snap b/lib/manager/npm/post-update/__snapshots__/yarn.spec.ts.snap
index 48c858717f..fbbd0f20ee 100644
--- a/lib/manager/npm/post-update/__snapshots__/yarn.spec.ts.snap
+++ b/lib/manager/npm/post-update/__snapshots__/yarn.spec.ts.snap
@@ -3,7 +3,7 @@
 exports[`manager/npm/post-update/yarn catches errors 1`] = `
 Array [
   Object {
-    "cmd": "yarn install --ignore-scripts --ignore-engines --ignore-platform",
+    "cmd": "yarn install --network-timeout 100000 --ignore-scripts --ignore-engines --ignore-platform",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
@@ -25,7 +25,7 @@ Array [
 exports[`manager/npm/post-update/yarn generates lock files using yarn v1.22.0 1`] = `
 Array [
   Object {
-    "cmd": "yarn install --ignore-scripts --ignore-engines --ignore-platform",
+    "cmd": "yarn install --network-timeout 100000 --ignore-scripts --ignore-engines --ignore-platform",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
@@ -59,7 +59,7 @@ Array [
     },
   },
   Object {
-    "cmd": "yarn install --ignore-scripts --ignore-engines --ignore-platform",
+    "cmd": "yarn install --network-timeout 100000 --ignore-scripts --ignore-engines --ignore-platform",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
@@ -93,7 +93,7 @@ Array [
     },
   },
   Object {
-    "cmd": "yarn install --ignore-scripts --ignore-engines --ignore-platform",
+    "cmd": "yarn install --network-timeout 100000 --ignore-scripts --ignore-engines --ignore-platform",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
@@ -115,7 +115,7 @@ Array [
 exports[`manager/npm/post-update/yarn performs lock file updates and full install using yarn v1.22.0 1`] = `
 Array [
   Object {
-    "cmd": "yarn install --ignore-scripts --ignore-engines --ignore-platform",
+    "cmd": "yarn install --network-timeout 100000 --ignore-scripts --ignore-engines --ignore-platform",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
@@ -132,7 +132,7 @@ Array [
     },
   },
   Object {
-    "cmd": "yarn upgrade some-dep --ignore-scripts --ignore-engines --ignore-platform",
+    "cmd": "yarn upgrade some-dep --network-timeout 100000 --ignore-scripts --ignore-engines --ignore-platform",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
@@ -154,7 +154,7 @@ Array [
 exports[`manager/npm/post-update/yarn performs lock file updates using yarn v1.22.0 1`] = `
 Array [
   Object {
-    "cmd": "yarn install --ignore-scripts --ignore-engines --ignore-platform",
+    "cmd": "yarn install --network-timeout 100000 --ignore-scripts --ignore-engines --ignore-platform",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
@@ -171,7 +171,7 @@ Array [
     },
   },
   Object {
-    "cmd": "yarn upgrade some-dep --ignore-scripts --ignore-engines --ignore-platform",
+    "cmd": "yarn upgrade some-dep --network-timeout 100000 --ignore-scripts --ignore-engines --ignore-platform",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
diff --git a/lib/manager/npm/post-update/yarn.ts b/lib/manager/npm/post-update/yarn.ts
index 806747dcd1..f2f70b482f 100644
--- a/lib/manager/npm/post-update/yarn.ts
+++ b/lib/manager/npm/post-update/yarn.ts
@@ -51,9 +51,9 @@ export async function generateLockFile(
       );
     }
     const commands = [];
-    let cmdOptions = '';
+    let cmdOptions = '--network-timeout 100000';
     if (global.trustLevel !== 'high' || config.ignoreScripts) {
-      cmdOptions = '--ignore-scripts --ignore-engines --ignore-platform';
+      cmdOptions += ' --ignore-scripts --ignore-engines --ignore-platform';
     }
     const execOptions: ExecOptions = {
       cwd,
-- 
GitLab