Skip to content

Commit a394a2b

Browse files
Hanaclaude
andcommitted
fix(release-ci): smoke step uses python-direct invoke on Windows
After the v0.0.3 fix replaced Scripts/nell.exe with Scripts/nell.bat, the smoke step failed because Git Bash on the Windows runner can't exec a .bat through a Unix-style relative path. Switch ``NELL`` from a single string to a bash array. On Windows it's ``("$PY" "-c" "from brain.cli import main; main()")`` — same incantation the .bat uses at runtime. On Unix it's the unchanged ``("python-runtime/bin/nell")``. Calls expand via ``"${NELL[@]}"`` so additional CLI args still pass through cleanly. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 46c7786 commit a394a2b

1 file changed

Lines changed: 10 additions & 5 deletions

File tree

.github/workflows/release.yml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -209,25 +209,30 @@ jobs:
209209
run: |
210210
if [ "$RUNNER_OS" = "Windows" ]; then
211211
PY="python-runtime/python.exe"
212-
NELL="python-runtime/Scripts/nell.exe"
212+
# Git Bash on Windows can't exec the bundled nell.bat
213+
# through a Unix-style relative path. Mimic what the .bat
214+
# does at runtime — invoke python.exe directly with the
215+
# same -c incantation. Functionally equivalent for the
216+
# smoke check.
217+
NELL=("$PY" "-c" "from brain.cli import main; main()")
213218
else
214219
PY="python-runtime/bin/python3"
215-
NELL="python-runtime/bin/nell"
220+
NELL=("python-runtime/bin/nell")
216221
fi
217222
TMP_HOME="$("$PY" -c "import tempfile; print(tempfile.mkdtemp(prefix='nell-smoke-'))")"
218223
cleanup() {
219224
NELLBRAIN_HOME="$TMP_HOME" "$PY" -c "import os, shutil; shutil.rmtree(os.environ['NELLBRAIN_HOME'], ignore_errors=True)"
220225
}
221226
trap cleanup EXIT
222227
223-
"$NELL" --version
224-
NELLBRAIN_HOME="$TMP_HOME" "$NELL" init \
228+
"${NELL[@]}" --version
229+
NELLBRAIN_HOME="$TMP_HOME" "${NELL[@]}" init \
225230
--persona smoke_persona \
226231
--user-name Smoke \
227232
--voice-template default \
228233
--fresh
229234
NELLBRAIN_HOME="$TMP_HOME" "$PY" -c "import os; from pathlib import Path; assert (Path(os.environ['NELLBRAIN_HOME']) / 'personas' / 'smoke_persona' / 'persona_config.json').is_file()"
230-
NELLBRAIN_HOME="$TMP_HOME" "$NELL" status --persona smoke_persona
235+
NELLBRAIN_HOME="$TMP_HOME" "${NELL[@]}" status --persona smoke_persona
231236
shell: bash
232237

233238
- name: Prepare release artifacts and checksums

0 commit comments

Comments
 (0)