Skip to content

Commit a7a0566

Browse files
committed
Ensure Windows release assets keep architecture suffixes
1 parent d5b43d2 commit a7a0566

1 file changed

Lines changed: 56 additions & 0 deletions

File tree

.github/workflows/release.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,62 @@ jobs:
160160
npm_config_target_arch: ${{ matrix.arch }}
161161
npm_config_platform: ${{ matrix.npm-platform }}
162162

163+
- name: Normalize Windows artifact names
164+
if: runner.os == 'Windows'
165+
env:
166+
MATRIX_ARCH: ${{ matrix.arch }}
167+
run: |
168+
set -euo pipefail
169+
170+
arch="$MATRIX_ARCH"
171+
shopt -s nullglob
172+
173+
exe_name=""
174+
for file in release/*.exe; do
175+
dir=$(dirname "$file")
176+
base=$(basename "$file")
177+
ext="${base##*.}"
178+
stem="${base%.$ext}"
179+
180+
if [[ "$arch" != "x64" ]]; then
181+
renamed="$dir/${stem}-${arch}.${ext}"
182+
mv "$file" "$renamed"
183+
file="$renamed"
184+
fi
185+
186+
exe_name=$(basename "$file")
187+
done
188+
189+
latest_file=""
190+
if [[ -f release/latest.yml ]]; then
191+
if [[ "$arch" != "x64" ]]; then
192+
latest_file="release/latest-${arch}.yml"
193+
mv release/latest.yml "$latest_file"
194+
else
195+
latest_file="release/latest.yml"
196+
fi
197+
fi
198+
199+
if [[ -n "$exe_name" && -n "$latest_file" ]]; then
200+
export WINDOWS_EXE_NAME="$exe_name"
201+
export WINDOWS_LATEST_FILE="$latest_file"
202+
python - <<'PY'
203+
import os
204+
import re
205+
from pathlib import Path
206+
from urllib.parse import quote
207+
208+
latest = Path(os.environ["WINDOWS_LATEST_FILE"])
209+
exe_name = os.environ["WINDOWS_EXE_NAME"]
210+
content = latest.read_text(encoding="utf-8")
211+
212+
content = re.sub(r"^(\s*path:\s*).+$", rf"\1{exe_name}", content, flags=re.MULTILINE)
213+
content = re.sub(r"^(\s*url:\s*).+$", rf"\1{quote(exe_name)}", content, flags=re.MULTILINE)
214+
215+
latest.write_text(content, encoding="utf-8")
216+
PY
217+
fi
218+
163219
- name: Upload release assets
164220
env:
165221
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)