Skip to content

Commit 030719a

Browse files
committed
fix zip in zip
1 parent f68a4b6 commit 030719a

File tree

1 file changed

+11
-13
lines changed

1 file changed

+11
-13
lines changed

.github/workflows/build-win.yml

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)