Skip to content

Commit 3922145

Browse files
committed
Harden Windows installer artifact detection in workflows
1 parent c50e071 commit 3922145

2 files changed

Lines changed: 22 additions & 8 deletions

File tree

.github/workflows/build-and-release.yml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,16 +78,23 @@ jobs:
7878
if: matrix.os == 'windows-2022'
7979
shell: bash
8080
run: |
81-
shopt -s nullglob
81+
shopt -s nullglob globstar
8282
src=(
83-
cross-platform/src-tauri/target/release/bundle/nsis/*.exe
84-
cross-platform/src-tauri/target/release/bundle/msi/*.msi
83+
cross-platform/src-tauri/target/release/bundle/**/*.exe
84+
cross-platform/src-tauri/target/release/bundle/**/*.msi
8585
)
8686
if [ ${#src[@]} -eq 0 ]; then
87-
echo "No Windows installer found (expected NSIS .exe or MSI .msi)"
87+
echo "No Windows installer found under cross-platform/src-tauri/target/release/bundle"
8888
exit 1
8989
fi
9090
installer_path="${src[0]}"
91+
for candidate in "${src[@]}"; do
92+
base_name="$(basename "$candidate")"
93+
if [[ "$base_name" == *setup*.exe || "$base_name" == *.msi ]]; then
94+
installer_path="$candidate"
95+
break
96+
fi
97+
done
9198
installer_ext="${installer_path##*.}"
9299
installer_name="PinStick-${APP_VERSION}-windows.${installer_ext}"
93100
cp "$installer_path" "$installer_name"

.github/workflows/prerelease.yml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,16 +85,23 @@ jobs:
8585
if: matrix.os == 'windows-2022'
8686
shell: bash
8787
run: |
88-
shopt -s nullglob
88+
shopt -s nullglob globstar
8989
src=(
90-
cross-platform/src-tauri/target/release/bundle/nsis/*.exe
91-
cross-platform/src-tauri/target/release/bundle/msi/*.msi
90+
cross-platform/src-tauri/target/release/bundle/**/*.exe
91+
cross-platform/src-tauri/target/release/bundle/**/*.msi
9292
)
9393
if [ ${#src[@]} -eq 0 ]; then
94-
echo "No Windows installer found (expected NSIS .exe or MSI .msi)"
94+
echo "No Windows installer found under cross-platform/src-tauri/target/release/bundle"
9595
exit 1
9696
fi
9797
installer_path="${src[0]}"
98+
for candidate in "${src[@]}"; do
99+
base_name="$(basename "$candidate")"
100+
if [[ "$base_name" == *setup*.exe || "$base_name" == *.msi ]]; then
101+
installer_path="$candidate"
102+
break
103+
fi
104+
done
98105
installer_ext="${installer_path##*.}"
99106
installer_name="PinStick-${APP_VERSION}-windows.${installer_ext}"
100107
cp "$installer_path" "$installer_name"

0 commit comments

Comments
 (0)