Browse Source

ci: fix hang when validating AppVeyor artifacts (#39400)

ci: fix hang when validating AppVeyor artifacts (#39362)

(cherry picked from commit 1eb6e45a365fd7b73b23302662f29e465a698719)

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <[email protected]>
trop[bot] 1 year ago
parent
commit
c697368d14
2 changed files with 62 additions and 47 deletions
  1. 31 23
      appveyor-woa.yml
  2. 31 24
      appveyor.yml

+ 31 - 23
appveyor-woa.yml

@@ -187,30 +187,14 @@ for:
             7z a pdb.zip out\Default\*.pdb
           }
       - python3 electron/script/zip_manifests/check-zip-manifest.py out/Default/dist.zip electron/script/zip_manifests/dist_zip.win.%TARGET_ARCH%.manifest
-
-    deploy_script:
-      - cd electron
-      - ps: >-
-          if (Test-Path Env:\ELECTRON_RELEASE) {
-            if (Test-Path Env:\UPLOAD_TO_STORAGE) {
-              Write-Output "Uploading Electron release distribution to azure"
-              & python3 script\release\uploaders\upload.py --verbose --upload_to_storage
-            } else {
-              Write-Output "Uploading Electron release distribution to github releases"
-              & python3 script\release\uploaders\upload.py --verbose
-            }
-          }
-    on_finish:
-      # Uncomment this lines to enable RDP
-      # - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
       - ps: |
           cd C:\projects\src
           $missing_artifacts = $false
           if ($env:SHOULD_SKIP_ARTIFACT_VALIDATION -eq 'true') {
             Write-warning "Skipping artifact validation for doc-only PR"
           } else {
-            $artifacts_to_upload = @('dist.zip','windows_toolchain_profile.json','shell_browser_ui_unittests.exe','chromedriver.zip','ffmpeg.zip','node_headers.zip','mksnapshot.zip','electron.lib','hunspell_dictionaries.zip')
-            foreach($artifact_name in $artifacts_to_upload) {
+            $artifacts_to_validate = 'dist.zip','windows_toolchain_profile.json','shell_browser_ui_unittests.exe','chromedriver.zip','ffmpeg.zip','node_headers.zip','mksnapshot.zip','electron.lib','hunspell_dictionaries.zip'
+            foreach($artifact_name in $artifacts_to_validate) {
               if ($artifact_name -eq 'ffmpeg.zip') {
                 $artifact_file = "out\ffmpeg\ffmpeg.zip"
               } elseif ($artifact_name -eq 'node_headers.zip') {
@@ -218,17 +202,41 @@ for:
               } else {
                 $artifact_file = "out\Default\$artifact_name"
               }
-              if (Test-Path $artifact_file) {
-                appveyor-retry appveyor PushArtifact $artifact_file          
-              } else {
+              if (-not(Test-Path $artifact_file)) {
                 Write-warning "$artifact_name is missing and cannot be added to artifacts"
                 $missing_artifacts = $true
               }
             }
-            if ($missing_artifacts) {
-              throw "Build failed due to missing artifacts"
+          }
+          if ($missing_artifacts) {
+            throw "Build failed due to missing artifacts"
+          }
+
+    deploy_script:
+      - cd electron
+      - ps: >-
+          if (Test-Path Env:\ELECTRON_RELEASE) {
+            if (Test-Path Env:\UPLOAD_TO_STORAGE) {
+              Write-Output "Uploading Electron release distribution to azure"
+              & python3 script\release\uploaders\upload.py --verbose --upload_to_storage
+            } else {
+              Write-Output "Uploading Electron release distribution to github releases"
+              & python3 script\release\uploaders\upload.py --verbose
             }
           }
+    on_finish:
+      # Uncomment this lines to enable RDP
+      # - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
+      - cd C:\projects\src
+      - if exist out\Default\windows_toolchain_profile.json ( appveyor-retry appveyor PushArtifact out\Default\windows_toolchain_profile.json )
+      - if exist out\Default\dist.zip (appveyor-retry appveyor PushArtifact out\Default\dist.zip)
+      - if exist out\Default\shell_browser_ui_unittests.exe (appveyor-retry appveyor PushArtifact out\Default\shell_browser_ui_unittests.exe)
+      - if exist out\Default\chromedriver.zip (appveyor-retry appveyor PushArtifact out\Default\chromedriver.zip)
+      - if exist out\ffmpeg\ffmpeg.zip (appveyor-retry appveyor PushArtifact out\ffmpeg\ffmpeg.zip)
+      - if exist node_headers.zip (appveyor-retry appveyor PushArtifact node_headers.zip)
+      - if exist out\Default\mksnapshot.zip (appveyor-retry appveyor PushArtifact out\Default\mksnapshot.zip)
+      - if exist out\Default\hunspell_dictionaries.zip (appveyor-retry appveyor PushArtifact out\Default\hunspell_dictionaries.zip)
+      - if exist out\Default\electron.lib (appveyor-retry appveyor PushArtifact out\Default\electron.lib)        
       - ps: >-
           if ((Test-Path "pdb.zip") -And ($env:GN_CONFIG -ne 'release')) {
             appveyor-retry appveyor PushArtifact pdb.zip

+ 31 - 24
appveyor.yml

@@ -185,31 +185,14 @@ for:
             7z a pdb.zip out\Default\*.pdb
           }
       - python3 electron/script/zip_manifests/check-zip-manifest.py out/Default/dist.zip electron/script/zip_manifests/dist_zip.win.%TARGET_ARCH%.manifest
-
-    deploy_script:
-      - cd electron
-      - ps: >-
-          if (Test-Path Env:\ELECTRON_RELEASE) {
-            if (Test-Path Env:\UPLOAD_TO_STORAGE) {
-              Write-Output "Uploading Electron release distribution to azure"
-              & python3 script\release\uploaders\upload.py --verbose --upload_to_storage
-            } else {
-              Write-Output "Uploading Electron release distribution to github releases"
-              & python3 script\release\uploaders\upload.py --verbose
-            }
-          }
-    on_finish:
-      # Uncomment this lines to enable RDP
-      # - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
       - ps: |
           cd C:\projects\src
           $missing_artifacts = $false
-
           if ($env:SHOULD_SKIP_ARTIFACT_VALIDATION -eq 'true') {
             Write-warning "Skipping artifact validation for doc-only PR"
           } else {
-            $artifacts_to_upload = @('dist.zip','windows_toolchain_profile.json','shell_browser_ui_unittests.exe','chromedriver.zip','ffmpeg.zip','node_headers.zip','mksnapshot.zip','electron.lib','hunspell_dictionaries.zip')
-            foreach($artifact_name in $artifacts_to_upload) {
+            $artifacts_to_validate = 'dist.zip','windows_toolchain_profile.json','shell_browser_ui_unittests.exe','chromedriver.zip','ffmpeg.zip','node_headers.zip','mksnapshot.zip','electron.lib','hunspell_dictionaries.zip'
+            foreach($artifact_name in $artifacts_to_validate) {
               if ($artifact_name -eq 'ffmpeg.zip') {
                 $artifact_file = "out\ffmpeg\ffmpeg.zip"
               } elseif ($artifact_name -eq 'node_headers.zip') {
@@ -217,17 +200,41 @@ for:
               } else {
                 $artifact_file = "out\Default\$artifact_name"
               }
-              if (Test-Path $artifact_file) {
-                appveyor-retry appveyor PushArtifact $artifact_file          
-              } else {
+              if (-not(Test-Path $artifact_file)) {
                 Write-warning "$artifact_name is missing and cannot be added to artifacts"
                 $missing_artifacts = $true
               }
             }
-            if ($missing_artifacts) {
-              throw "Build failed due to missing artifacts"
+          }
+          if ($missing_artifacts) {
+            throw "Build failed due to missing artifacts"
+          }
+
+    deploy_script:
+      - cd electron
+      - ps: >-
+          if (Test-Path Env:\ELECTRON_RELEASE) {
+            if (Test-Path Env:\UPLOAD_TO_STORAGE) {
+              Write-Output "Uploading Electron release distribution to azure"
+              & python3 script\release\uploaders\upload.py --verbose --upload_to_storage
+            } else {
+              Write-Output "Uploading Electron release distribution to github releases"
+              & python3 script\release\uploaders\upload.py --verbose
             }
           }
+    on_finish:
+      # Uncomment this lines to enable RDP
+      # - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
+      - cd C:\projects\src
+      - if exist out\Default\windows_toolchain_profile.json ( appveyor-retry appveyor PushArtifact out\Default\windows_toolchain_profile.json )
+      - if exist out\Default\dist.zip (appveyor-retry appveyor PushArtifact out\Default\dist.zip)
+      - if exist out\Default\shell_browser_ui_unittests.exe (appveyor-retry appveyor PushArtifact out\Default\shell_browser_ui_unittests.exe)
+      - if exist out\Default\chromedriver.zip (appveyor-retry appveyor PushArtifact out\Default\chromedriver.zip)
+      - if exist out\ffmpeg\ffmpeg.zip (appveyor-retry appveyor PushArtifact out\ffmpeg\ffmpeg.zip)
+      - if exist node_headers.zip (appveyor-retry appveyor PushArtifact node_headers.zip)
+      - if exist out\Default\mksnapshot.zip (appveyor-retry appveyor PushArtifact out\Default\mksnapshot.zip)
+      - if exist out\Default\hunspell_dictionaries.zip (appveyor-retry appveyor PushArtifact out\Default\hunspell_dictionaries.zip)
+      - if exist out\Default\electron.lib (appveyor-retry appveyor PushArtifact out\Default\electron.lib)        
       - ps: >-
           if ((Test-Path "pdb.zip") -And ($env:GN_CONFIG -ne 'release')) {
             appveyor-retry appveyor PushArtifact pdb.zip