@@ -145,7 +145,12 @@ jobs:
145
145
with :
146
146
python-version : ${{ env.pythonVersion }}
147
147
- name : Install python deps
148
- run : pip install -r scripts/gha/requirements.txt
148
+ uses : nick-invision/retry@v2
149
+ with :
150
+ timeout_minutes : 1
151
+ max_attempts : 3
152
+ shell : bash
153
+ command : pip install -r scripts/gha/requirements.txt
149
154
- id : matrix_config
150
155
run : |
151
156
if [[ "${{ steps.set_outputs.outputs.requested_tests }}" == "expanded" ]]; then
@@ -260,30 +265,40 @@ jobs:
260
265
# homebrew. This prevents errors arising from the shut down of
261
266
# binutils, used by older version of homebrew for hosting packages.
262
267
brew update
263
- - name : Install SDK Desktop prerequisites
264
- run : |
265
- python scripts/gha/install_prereqs_desktop.py
266
- - name : Prepare for integration tests
267
- run : |
268
- pip install -r scripts/gha/requirements.txt
269
- python scripts/gha/restore_secrets.py --passphrase "${{ secrets.TEST_SECRET }}"
268
+ - name : Install Desktop SDK & integration tests prerequisites
269
+ uses : nick-invision/retry@v2
270
+ with :
271
+ timeout_minutes : 2
272
+ max_attempts : 3
273
+ command : |
274
+ python scripts/gha/install_prereqs_desktop.py
275
+ pip install -r scripts/gha/requirements.txt
276
+ python scripts/gha/restore_secrets.py --passphrase "${{ secrets.TEST_SECRET }}"
270
277
- name : Install OpenSSL (Windows)
271
- if : matrix.ssl_variant == 'openssl' &&
272
- startsWith(matrix.os, 'windows')
273
- run : |
274
- choco install openssl -r
278
+ if : matrix.ssl_variant == 'openssl' && startsWith(matrix.os, 'windows')
279
+ uses : nick-invision/retry@v2
280
+ with :
281
+ timeout_minutes : 4
282
+ max_attempts : 3
283
+ shell : bash
284
+ command : choco install openssl -r
275
285
- name : Install OpenSSL (macOS)
276
- if : matrix.ssl_variant == 'openssl' &&
277
- startsWith(matrix.os, 'macos')
278
- run : |
279
- brew install openssl
280
- # brew won't overwrite MacOS system default OpenSSL, so force it here.
281
- echo "OPENSSL_ROOT_DIR=/usr/local/opt/[email protected] " >> $GITHUB_ENV
286
+ if : matrix.ssl_variant == 'openssl' && startsWith(matrix.os, 'macos')
287
+ uses : nick-invision/retry@v2
288
+ with :
289
+ timeout_minutes : 2
290
+ max_attempts : 3
291
+ command : |
292
+ brew install openssl
293
+ # brew won't overwrite MacOS system default OpenSSL, so force it here.
294
+ echo "OPENSSL_ROOT_DIR=/usr/local/opt/[email protected] " >> $GITHUB_ENV
282
295
- name : Install OpenSSL (Linux)
283
- if : matrix.ssl_variant == 'openssl' &&
284
- startsWith(matrix.os, 'ubuntu')
285
- run : |
286
- sudo apt install openssl
296
+ if : matrix.ssl_variant == 'openssl' && startsWith(matrix.os, 'ubuntu')
297
+ uses : nick-invision/retry@v2
298
+ with :
299
+ timeout_minutes : 2
300
+ max_attempts : 3
301
+ command : sudo apt install openssl
287
302
- name : Fetch prebuilt packaged SDK from previous run
288
303
uses : dawidd6/action-download-artifact@v2
289
304
if : ${{ github.event.inputs.test_packaged_sdk != '' }}
@@ -429,14 +444,16 @@ jobs:
429
444
# homebrew. This prevents errors arising from the shut down of
430
445
# binutils, used by older version of homebrew for hosting packages.
431
446
brew update
432
- - name : Install SDK Android prerequisites
433
- shell : bash
434
- run : |
435
- build_scripts/android/install_prereqs.sh
436
- - name : Prepare for integration tests
437
- run : |
438
- pip install -r scripts/gha/requirements.txt
439
- python scripts/gha/restore_secrets.py --passphrase "${{ secrets.TEST_SECRET }}"
447
+ - name : Install Android SDK & integration tests prerequisites
448
+ uses : nick-invision/retry@v2
449
+ with :
450
+ timeout_minutes : 10
451
+ max_attempts : 3
452
+ shell : bash
453
+ command : |
454
+ build_scripts/android/install_prereqs.sh
455
+ pip install -r scripts/gha/requirements.txt
456
+ python scripts/gha/restore_secrets.py --passphrase "${{ secrets.TEST_SECRET }}"
440
457
- name : Fetch prebuilt packaged SDK from previous run
441
458
uses : dawidd6/action-download-artifact@v2
442
459
if : ${{ github.event.inputs.test_packaged_sdk != '' }}
@@ -544,12 +561,15 @@ jobs:
544
561
# homebrew. This prevents errors arising from the shut down of
545
562
# binutils, used by older version of homebrew for hosting packages.
546
563
brew update
547
- - name : Install SDK iOS prerequisites
548
- run : build_scripts/ios/install_prereqs.sh
549
- - name : Prepare for integration tests
550
- run : |
551
- pip install -r scripts/gha/requirements.txt
552
- python scripts/gha/restore_secrets.py --passphrase "${{ secrets.TEST_SECRET }}"
564
+ - name : Install iOS SDK & integration tests prerequisites
565
+ uses : nick-invision/retry@v2
566
+ with :
567
+ timeout_minutes : 2
568
+ max_attempts : 3
569
+ command : |
570
+ build_scripts/ios/install_prereqs.sh
571
+ pip install -r scripts/gha/requirements.txt
572
+ python scripts/gha/restore_secrets.py --passphrase "${{ secrets.TEST_SECRET }}"
553
573
- name : Fetch prebuilt packaged SDK from previous run
554
574
uses : dawidd6/action-download-artifact@v2
555
575
if : ${{ github.event.inputs.test_packaged_sdk != '' }}
@@ -652,12 +672,15 @@ jobs:
652
672
# homebrew. This prevents errors arising from the shut down of
653
673
# binutils, used by older version of homebrew for hosting packages.
654
674
brew update
655
- - name : Install SDK tvOS prerequisites
656
- run : build_scripts/tvos/install_prereqs.sh
657
- - name : Prepare for integration tests
658
- run : |
659
- pip install -r scripts/gha/requirements.txt
660
- python scripts/gha/restore_secrets.py --passphrase "${{ secrets.TEST_SECRET }}"
675
+ - name : Install tvOS SDK & integration tests prerequisites
676
+ uses : nick-invision/retry@v2
677
+ with :
678
+ timeout_minutes : 2
679
+ max_attempts : 3
680
+ command : |
681
+ build_scripts/tvos/install_prereqs.sh
682
+ pip install -r scripts/gha/requirements.txt
683
+ python scripts/gha/restore_secrets.py --passphrase "${{ secrets.TEST_SECRET }}"
661
684
- name : Fetch prebuilt packaged SDK from previous run
662
685
uses : dawidd6/action-download-artifact@v2
663
686
if : ${{ github.event.inputs.test_packaged_sdk != '' }}
@@ -763,9 +786,14 @@ jobs:
763
786
run : |
764
787
npm install -g firebase-tools
765
788
- name : Setup integration test deps
766
- run : |
767
- pip install -r scripts/gha/requirements.txt
768
- python scripts/gha/restore_secrets.py --passphrase "${{ secrets.TEST_SECRET }}" --artifact testapps
789
+ uses : nick-invision/retry@v2
790
+ with :
791
+ timeout_minutes : 2
792
+ max_attempts : 3
793
+ shell : bash
794
+ command : |
795
+ pip install -r scripts/gha/requirements.txt
796
+ python scripts/gha/restore_secrets.py --passphrase "${{ secrets.TEST_SECRET }}" --artifact testapps
769
797
- name : Run Desktop integration tests
770
798
run : firebase emulators:exec --only firestore --project demo-example 'python scripts/gha/desktop_tester.py --testapp_dir testapps --logfile_name "desktop-${{ matrix.os }}-${{ matrix.ssl_variant }}"'
771
799
env :
@@ -835,7 +863,12 @@ jobs:
835
863
with :
836
864
python-version : ${{ env.pythonVersion }}
837
865
- name : Install python deps
838
- run : pip install -r scripts/gha/requirements.txt
866
+ uses : nick-invision/retry@v2
867
+ with :
868
+ timeout_minutes : 1
869
+ max_attempts : 3
870
+ shell : bash
871
+ command : pip install -r scripts/gha/requirements.txt
839
872
- id : get-device-type
840
873
run : |
841
874
echo "::set-output name=device_type::$( python scripts/gha/print_matrix_configuration.py -d -k ${{ matrix.android_device }} )"
@@ -933,7 +966,11 @@ jobs:
933
966
with :
934
967
python-version : ${{ env.pythonVersion }}
935
968
- name : Install python deps
936
- run : pip install -r scripts/gha/requirements.txt
969
+ uses : nick-invision/retry@v2
970
+ with :
971
+ timeout_minutes : 1
972
+ max_attempts : 3
973
+ command : pip install -r scripts/gha/requirements.txt
937
974
- id : get-device-type
938
975
run : |
939
976
echo "::set-output name=device_type::$( python scripts/gha/print_matrix_configuration.py -d -k ${{ matrix.ios_device }} )"
@@ -1032,7 +1069,11 @@ jobs:
1032
1069
with :
1033
1070
python-version : ${{ env.pythonVersion }}
1034
1071
- name : Install python deps
1035
- run : pip install -r scripts/gha/requirements.txt
1072
+ uses : nick-invision/retry@v2
1073
+ with :
1074
+ timeout_minutes : 1
1075
+ max_attempts : 3
1076
+ command : pip install -r scripts/gha/requirements.txt
1036
1077
- name : Setup Firebase Emulators
1037
1078
run : |
1038
1079
npm install -g firebase-tools
0 commit comments