fix(release): unblock v0.1.2 release pipeline#23
Conversation
Bug 7 (FreeBSD packaging): The build_binary() shell function in
scripts/build-and-package-freebsd.sh is invoked via command
substitution at line 405:
EXECUTABLE="$(build_binary)"
The function prints diagnostic progress messages through
print_step/print_warn/print_error helpers (e.g. 'Cleaning previous
artifacts...', 'Building one-file binary with PyInstaller...'),
which all wrote to stdout. As a result $EXECUTABLE captured the
entire log output concatenated with the actual binary path. The
subsequent 'install -m 755 "$EXECUTABLE" ...' interpreted the
first newline as a path boundary and failed with:
install: dist/ecli: No such file or directory
The process '/usr/bin/ssh' failed with exit code 71
Fix: redirect print_step, print_warn, and print_error output to
stderr ('>&2'). This is the standard Unix idiom: progress and
diagnostic messages on stderr, data on stdout. The function now
emits only the binary path on stdout, which command substitution
captures cleanly. print_header was not modified because it is
only invoked at top level, never inside a captured subshell.
Bug 8 (PyPI logo not rendering): README.md referenced the logo
via the GitHub blob viewer URL:
https://github.com/SSobol77/ecli/blob/main/img/logo_m.png
GitHub renders this through its HTML viewer; PyPI fetches the URL
directly and gets an HTML page instead of the raw PNG, so the
logo did not appear on pypi.org/project/ecli-editor/.
Fix: use the raw.githubusercontent.com URL, which returns the
binary image directly:
https://raw.githubusercontent.com/SSobol77/ecli/main/img/logo_m.png
Version: bumped pyproject.toml from 0.1.1 to 0.1.2.
Background: PyPI 0.1.1 was published successfully during the
v0.1.1 release attempt (visible at
pypi.org/project/ecli-editor/0.1.1/). The aggregate workflow
failed AFTER PyPI publish, due to the FreeBSD build_binary bug.
Maintainer continues forward strategy: PyPI 0.1.1 stays as-is
(immutable), no v0.1.1 GitHub Release is created, v0.1.2
becomes the first complete release across all platforms.
|
Important Review skippedAuto reviews are disabled on this repository. To trigger a review, include ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|



Two fixes plus version bump:
Bug 7 — FreeBSD build_binary stdout pollution
The build_binary() shell function used print_step/print_warn/print_error
helpers that wrote diagnostic messages to stdout. Command substitution
`EXECUTABLE=$(build_binary)` then captured log lines into the
path variable, breaking `install -m 755 "$EXECUTABLE"`.
Fix: redirect all 3 print_ helpers to stderr. Standard Unix idiom.
Bug 8 — PyPI logo not rendering
README.md used GitHub blob viewer URL (HTML page) instead of
raw.githubusercontent.com (binary PNG). PyPI got HTML instead of
image. Fix: switch to raw URL.
Version bump: 0.1.1 -> 0.1.2.
PyPI 0.1.1 stays as-is per forward strategy. v0.1.2 will be the
first complete release across all platforms (PyPI + GitHub Release
with native packages for Linux/FreeBSD/macOS/Windows).