Skip to content

Commit fa6d390

Browse files
authored
Add retry to npm installation of firebase-tools (#1059)
1 parent 2d90eba commit fa6d390

File tree

2 files changed

+36
-7
lines changed

2 files changed

+36
-7
lines changed

.github/workflows/desktop.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -359,8 +359,12 @@ jobs:
359359
with:
360360
node-version: 14.x
361361
- name: Setup Firestore Emulator
362-
run: |
363-
npm install -g firebase-tools
362+
uses: nick-invision/retry@v2
363+
with:
364+
shell: bash
365+
timeout_minutes: 5
366+
max_attempts: 3
367+
command: npm install -g firebase-tools
364368
- name: Setup java
365369
uses: actions/setup-java@v3
366370
with:

.github/workflows/integration_tests.yml

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -739,8 +739,12 @@ jobs:
739739
with:
740740
node-version: 14.x
741741
- name: Setup Firestore Emulator
742-
run: |
743-
npm install -g firebase-tools
742+
uses: nick-invision/retry@v2
743+
with:
744+
shell: bash
745+
timeout_minutes: 5
746+
max_attempts: 3
747+
command: npm install -g firebase-tools
744748
- name: Setup java
745749
uses: actions/setup-java@v3
746750
with:
@@ -997,9 +1001,16 @@ jobs:
9971001
distribution: 'temurin'
9981002
java-version: '17'
9991003
- name: Setup Firestore Emulator
1004+
if: steps.get-device-type.outputs.device_type == 'virtual' && contains(needs.check_and_prepare.outputs.apis, 'firestore')
1005+
uses: nick-invision/retry@v2
1006+
with:
1007+
shell: bash
1008+
timeout_minutes: 5
1009+
max_attempts: 3
1010+
command: npm install -g firebase-tools
1011+
- name: Start Firestore Emulator
10001012
if: steps.get-device-type.outputs.device_type == 'virtual' && contains(needs.check_and_prepare.outputs.apis, 'firestore')
10011013
run: |
1002-
npm install -g firebase-tools
10031014
firebase emulators:start --only firestore --project demo-example &
10041015
- name: Setup java 8 for test_simulator.py
10051016
uses: actions/setup-java@v3
@@ -1132,9 +1143,16 @@ jobs:
11321143
distribution: 'temurin'
11331144
java-version: '17'
11341145
- name: Setup Firestore Emulator
1146+
if: steps.get-device-type.outputs.device_type == 'virtual' && contains(needs.check_and_prepare.outputs.apis, 'firestore')
1147+
uses: nick-invision/retry@v2
1148+
with:
1149+
shell: bash
1150+
timeout_minutes: 5
1151+
max_attempts: 3
1152+
command: npm install -g firebase-tools
1153+
- name: Start Firestore Emulator
11351154
if: steps.get-device-type.outputs.device_type == 'virtual' && contains(needs.check_and_prepare.outputs.apis, 'firestore')
11361155
run: |
1137-
npm install -g firebase-tools
11381156
firebase emulators:start --only firestore --project demo-example &
11391157
- name: Run iOS integration tests on Simulator locally
11401158
timeout-minutes: 120
@@ -1241,9 +1259,16 @@ jobs:
12411259
distribution: 'temurin'
12421260
java-version: '17'
12431261
- name: Setup Firestore Emulator
1262+
if: contains(needs.check_and_prepare.outputs.apis, 'firestore')
1263+
uses: nick-invision/retry@v2
1264+
with:
1265+
shell: bash
1266+
timeout_minutes: 5
1267+
max_attempts: 3
1268+
command: npm install -g firebase-tools
1269+
- name: Start Firestore Emulator
12441270
if: contains(needs.check_and_prepare.outputs.apis, 'firestore')
12451271
run: |
1246-
npm install -g firebase-tools
12471272
firebase emulators:start --only firestore --project demo-example &
12481273
- name: Run tvOS integration tests on Simulator locally
12491274
timeout-minutes: 90

0 commit comments

Comments
 (0)