Browse Source

build: add win toolchain for release builds (#45380)

* build: add win toolchain for release builds

* build: fix installed_software.json script

* chore: run pwsh script within src

* build: fixup uploader arch
Keeley Hammond 2 months ago
parent
commit
c147e4fa81
2 changed files with 22 additions and 0 deletions
  1. 19 0
      .github/actions/build-electron/action.yml
  2. 3 0
      script/lib/config.py

+ 19 - 0
.github/actions/build-electron/action.yml

@@ -143,6 +143,25 @@ runs:
       run: |
         cd src
         e build --target electron:node_headers
+    - name: Create installed_software.json ${{ inputs.step-suffix }}
+      shell: powershell
+      if: ${{ inputs.is-release == 'true' && inputs.target-platform == 'win' }}
+      run: |
+        cd src
+        Get-CimInstance -Namespace root\cimv2 -Class Win32_product | Select vendor, description, @{l='install_location';e='InstallLocation'}, @{l='install_date';e='InstallDate'}, @{l='install_date_2';e='InstallDate2'}, caption, version, name, @{l='sku_number';e='SKUNumber'} | ConvertTo-Json | Out-File -Encoding utf8 -FilePath .\installed_software.json
+    - name: Profile Windows Toolchain ${{ inputs.step-suffix }}
+      shell: bash
+      if: ${{ inputs.is-release == 'true' && inputs.target-platform == 'win' }}
+      run: |
+        cd src
+        python3 electron/build/profile_toolchain.py --output-json=out/Default/windows_toolchain_profile.json
+    - name: Add msdia140.dll to Path ${{ inputs.step-suffix }}
+      shell: bash
+      if: ${{ inputs.is-release == 'true' && inputs.target-platform == 'win' }}
+      run: |
+        # Needed for msdia140.dll on 64-bit windows
+        cd src
+        export PATH="$PATH:$(pwd)/third_party/llvm-build/Release+Asserts/bin"
     - name: Generate & Zip Symbols ${{ inputs.step-suffix }}
       shell: bash
       run: |

+ 3 - 0
script/lib/config.py

@@ -10,6 +10,7 @@ PLATFORM = {
   'linux': 'linux',
   'linux2': 'linux',
   'win32': 'win32',
+  'win': 'win32',
 }[sys.platform]
 
 verbose_mode = False
@@ -26,6 +27,8 @@ def get_target_arch():
   arch = os.environ.get('TARGET_ARCH')
   if arch is None:
     return 'x64'
+  if arch == 'x86':
+    return 'ia32'
   return arch
 
 def set_verbose_mode(mode):