Skip to content

fix(installer): keep zicompinit out of the annex burst - #214

Merged
ss-o merged 2 commits into
mainfrom
bug-213
Sep 19, 2026
Merged

ss-o merged 2 commits into
mainfrom
bug-213

Conversation

@ss-o

@ss-o ss-o commented Sep 19, 2026

Copy link
Copy Markdown
Member

Summary

  • ANNEX_PROFILE: the burst file now holds only the zi light-mode for ... recipe; for -a annex the zicompinit line (and its example comment) is appended to .zshrc directly, so the non-interactive burst never sources it. The first real CI run (ci(installer): run each install profile for real and fail the step when it fails #212, Linux) showed compinit: initialization aborted after all annexes had installed, which turned a successful burst into the "next shell start" fallback.
  • Harness: the zsh double refuses any sourced file containing zicompinit, and the annex case asserts .zshrc still receives it.

Closes #213

Verification

  • sh ./tests/installers.sh: 30 cases pass on the committed tree; shellcheck -s sh clean; public/checksum.txt regenerated after the commit hook formatted the file.
  • This pull request's Check (Linux) annex step is the real evidence: reviewed for the absence of the fallback line before merge.

Agent handoff

No handoff needed.

The burst runs the just-written recipe in `zsh -f -c`; sourcing a file
that ends with `zicompinit` makes compinit abort without a terminal, so
the burst returned non-zero after every annex had been installed and the
installer printed the "next shell start" fallback (first real CI run,
#212). Write only the `zi light-mode for ...` recipe to the burst file
and append `zicompinit` to .zshrc alone. The zsh test double now refuses
a sourced file that contains zicompinit, and the annex case asserts that
.zshrc still receives it.

Closes #213
Copilot AI balanced review requested due to automatic review settings September 19, 2026 02:25
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 19, 2026

Copy link
Copy Markdown

Deploying src with  Cloudflare Pages  Cloudflare Pages

Latest commit: b2273df
Status: ✅  Deploy successful!
Preview URL: https://fcaa5afd.zi-src.pages.dev
Branch Preview URL: https://bug-213.zi-src.pages.dev

View logs

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The new assertion can pass without verifying that the annex-specific block writes zicompinit.

Get a fresh assessment by requesting another Copilot review.

Review effort: Balanced
Findings: 1 Medium severity

Open (1)
What changed in this PR

Separates zicompinit from the non-interactive annex burst while preserving .zshrc configuration.

Changes:

  • Limits the burst file to the annex recipe.
  • Adds a test-double guard against sourcing zicompinit.
  • Regenerates the installer checksum.
File Description
public/​sh/​install.sh Moves zicompinit outside the burst fragment.
tests/​installers.sh Tests burst isolation and .zshrc output.
public/​checksum.txt Updates the installer checksum.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread tests/installers.sh Outdated
@ss-o
ss-o merged commit a1ac6d2 into main Sep 19, 2026
8 checks passed
@ss-o
ss-o deleted the bug-213 branch September 19, 2026 02:46
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.

install.sh: the annex burst sources zicompinit, which aborts non-interactively on Linux

2 participants