Skip to content

fix(release): unblock v0.1.2 release pipeline#23

Merged
SSobol77 merged 1 commit into
mainfrom
fix/release-v0.1.2
May 11, 2026
Merged

fix(release): unblock v0.1.2 release pipeline#23
SSobol77 merged 1 commit into
mainfrom
fix/release-v0.1.2

Conversation

@SSobol77
Copy link
Copy Markdown
Owner

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).

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.
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 11, 2026

Important

Review skipped

Auto reviews are disabled on this repository. To trigger a review, include @coderabbitai review in the PR description. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 40600456-c7fe-40e0-b70b-91824c922f2f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/release-v0.1.2

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sonarqubecloud
Copy link
Copy Markdown

@SSobol77 SSobol77 merged commit 425989f into main May 11, 2026
6 checks passed
@SSobol77 SSobol77 deleted the fix/release-v0.1.2 branch May 11, 2026 04:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant