From a45a984b32d32831badcb058f162745b25aa4533 Mon Sep 17 00:00:00 2001 From: Laurent Trinques Date: Fri, 11 Sep 2026 10:00:35 +0200 Subject: [PATCH] CI/Windows: use find instead of compgen -G to locate .qm files $GITHUB_WORKSPACE is a Windows path under MSYS2 (D:\a\...); compgen -G treats its backslashes as escapes, so the generated .qm were not found. --- .github/workflows/windows-build.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/windows-build.yml b/.github/workflows/windows-build.yml index fc182e1f4..34d22f0ce 100644 --- a/.github/workflows/windows-build.yml +++ b/.github/workflows/windows-build.yml @@ -226,12 +226,15 @@ jobs: QM_SRC="$GITHUB_WORKSPACE/build/lang" TS_COUNT=$(find "$GITHUB_WORKSPACE/lang" -maxdepth 1 -name 'qet_*.ts' | wc -l) mkdir -p "$FILES/lang" - if ! compgen -G "$QM_SRC/qet_*.qm" > /dev/null; then + # find only, no shell glob: $GITHUB_WORKSPACE is a Windows path + # (D:\a\...) and its backslashes break glob-based tests (compgen -G). + QM_FOUND=$(find "$QM_SRC" -maxdepth 1 -name 'qet_*.qm' 2>/dev/null | wc -l) + if [ "$QM_FOUND" -eq 0 ]; then echo "ERROR: no .qm file in $QM_SRC (did lrelease run?)" find "$GITHUB_WORKSPACE/build" -name '*.qm' || true exit 1 fi - cp "$QM_SRC"/qet_*.qm "$FILES/lang/" + find "$QM_SRC" -maxdepth 1 -name 'qet_*.qm' -exec cp {} "$FILES/lang/" \; QM_COUNT=$(find "$FILES/lang" -maxdepth 1 -name 'qet_*.qm' | wc -l) echo "=== $QM_COUNT .qm files copied to files/lang/ (expected: $TS_COUNT) ===" if [ "$QM_COUNT" -ne "$TS_COUNT" ]; then