@@ -116,10 +116,7 @@ jobs:
116116 wolfram -script ./Scripts/bundle.wls
117117
118118
119- # ─────────────────────────────
120- # Collect + sign 3 DLLs (from 3 folders) before Electron build
121- # ─────────────────────────────
122- - name : Define DLL dirs (edit these!)
119+ - name : Define DLL dirs
123120 shell : pwsh
124121 run : |
125122 $dirs = @(
@@ -137,33 +134,34 @@ jobs:
137134 "SIGNED_DLL_DIR=$env:RUNNER_TEMP\signed-dlls" | Out-File $env:GITHUB_ENV -Append
138135 "DLL_EXTRACT=$env:RUNNER_TEMP\dlls-signed-extract" | Out-File $env:GITHUB_ENV -Append
139136
140- - name : Stage DLLs into a ZIP (preserve folder layout)
137+ # Stage DLLs preserving relative paths (same as before, but no Compress-Archive)
138+ - name : Stage DLLs
141139 shell : pwsh
142140 run : |
143141 $ErrorActionPreference = 'Stop'
144142 $dirs = $env:DLL_DIRS -split ';'
143+
145144 if (Test-Path $env:DLL_STAGE) { Remove-Item $env:DLL_STAGE -Recurse -Force }
146145 New-Item -ItemType Directory -Force -Path $env:DLL_STAGE | Out-Null
147146
148147 foreach ($dir in $dirs) {
149148 if (-not (Test-Path $dir)) { throw "Folder not found: $dir" }
150- $dll = Get-ChildItem $dir -Filter *.dll | Select-Object -First 1
151- if (-not $dll) { throw "No .dll in $dir" }
152- # Recreate the same folder path inside the stage root
149+ $dlls = Get-ChildItem -Path $dir -Filter *.dll -File
150+ if ($dlls.Count -ne 1) { throw "Expected exactly 1 .dll in $dir, found $($dlls.Count)" }
151+ $dll = $dlls[0]
152+
153153 $dest = Join-Path $env:DLL_STAGE $dir
154154 New-Item -ItemType Directory -Force -Path $dest | Out-Null
155155 Copy-Item $dll.FullName -Destination $dest -Force
156156 }
157157
158- if (Test-Path $env:DLL_ZIP) { Remove-Item $env:DLL_ZIP -Force }
159- Compress-Archive -Path (Join-Path $env:DLL_STAGE '*') -DestinationPath $env:DLL_ZIP
160-
161- - name : Upload unsigned DLL ZIP (for SignPath)
158+
159+ - name : Upload unsigned DLL artifact (folder, not zip)
162160 id : upload-unsigned-dlls
163161 uses : actions/upload-artifact@v4
164162 with :
165163 name : unsigned-dlls-zip
166- path : ${{ env.DLL_ZIP }}
164+ path : ${{ env.DLL_STAGE }}/*
167165 if-no-files-found : error
168166 compression-level : 0
169167
0 commit comments