Windows CI: fix YAML break — replace SFX-config heredoc with printf

The previous commit's bash heredoc for the 7-Zip SFX config:
  cat > sfx-config.txt <<'SFXCFG'
  ;!@Install@!UTF-8!
  ...
  SFXCFG
…had its body at the left margin (since heredoc lines are taken
literally). But the surrounding YAML used `run: |` which requires
every line to be indented more than the `run:` key. The unindented
heredoc body broke out of the block scalar — Gitea Actions
rejected the workflow with "could not find expected ':'" at the
;!@Install line.

Switch to a single `printf '...' > sfx-config.txt` line that fits
cleanly inside the YAML block. Same on-disk file content, no YAML
indentation conflict.
This commit is contained in:
jwinterm
2026-05-22 18:09:59 -04:00
parent 713eba2a53
commit 1ad70a210a
+3 -8
View File
@@ -355,14 +355,9 @@ jobs:
# 2. SFX config — runtime behavior of the wrapper .exe.
# RunProgram is what fires after extraction. HashWallet is the
# BINARY_NAME baked into windows/CMakeLists.txt.
cat > sfx-config.txt <<'SFXCFG'
;!@Install@!UTF-8!
Title="Hash Bags"
BeginPrompt=""
Progress="yes"
RunProgram="HashWallet.exe"
;!@InstallEnd@!
SFXCFG
# Using printf instead of a heredoc because bash heredoc bodies
# have no indentation and break out of YAML's `run: |` block.
printf ';!@Install@!UTF-8!\nTitle="Hash Bags"\nBeginPrompt=""\nProgress="yes"\nRunProgram="HashWallet.exe"\n;!@InstallEnd@!\n' > sfx-config.txt
# 3. Concatenate SFX module + config + payload → final .exe.
# Identical to the Windows "copy /b a + b + c" idiom; cat works