Skip to content

setup: pin and parameterize pi install version#90

Merged
benvinegar merged 3 commits intomainfrom
benvinegar/pin-pi-version
Feb 21, 2026
Merged

setup: pin and parameterize pi install version#90
benvinegar merged 3 commits intomainfrom
benvinegar/pin-pi-version

Conversation

@benvinegar
Copy link
Member

@benvinegar benvinegar commented Feb 21, 2026

Summary

  • pin pi install in setup.sh to a specific default version (0.52.12)
  • allow overriding at install time with BAUDBOT_PI_VERSION
  • document the override in README.md, docs/operations.md, and CONFIGURATION.md

Why

  • makes pi runtime version explicit and reproducible
  • allows controlled upgrades without editing scripts

Usage

BAUDBOT_PI_VERSION=0.52.12 baudbot install

Validation

  • npm run test:shell

@greptile-apps
Copy link

greptile-apps bot commented Feb 21, 2026

Greptile Summary

Pins pi install to version 0.52.12 by default while allowing override via BAUDBOT_PI_VERSION env var. The implementation correctly uses bash parameter expansion in setup.sh, and documentation has been updated across README.md, CONFIGURATION.md, and docs/operations.md.

Changes:

  • Added PI_VERSION="${BAUDBOT_PI_VERSION:-0.52.12}" in setup.sh:37
  • Updated npm install command to pin version: npm install -g @mariozechner/pi-coding-agent@$PI_VERSION
  • Documented the override in CONFIGURATION.md under "Setup Overrides"
  • Added usage examples to README.md and docs/operations.md

Issue found:

  • The install.sh script doesn't preserve BAUDBOT_PI_VERSION when calling setup.sh, so the documented usage BAUDBOT_PI_VERSION=0.52.12 baudbot install won't work as expected

Confidence Score: 4/5

  • Safe to merge after fixing env var preservation in install.sh
  • The core implementation is solid and tests pass, but there's a critical gap where BAUDBOT_PI_VERSION won't be passed through install.shsetup.sh, making the documented usage example non-functional
  • install.sh needs to preserve BAUDBOT_PI_VERSION when calling setup.sh

Important Files Changed

Filename Overview
setup.sh Added BAUDBOT_PI_VERSION env var support with default 0.52.12, correctly uses parameter expansion for fallback
README.md Added usage example for BAUDBOT_PI_VERSION, but env var won't be preserved through baudbot installinstall.shsetup.sh chain
docs/operations.md Added usage example for BAUDBOT_PI_VERSION, but env var won't be preserved through baudbot installinstall.shsetup.sh chain
install.sh Not modified in this PR but contains a bug preventing BAUDBOT_PI_VERSION from being passed to setup.sh

Last reviewed commit: e113b88

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

4 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

@greptile-apps
Copy link

greptile-apps bot commented Feb 21, 2026

Additional Comments (1)

install.sh
BAUDBOT_PI_VERSION env var not preserved when calling setup.sh

BAUDBOT_PI_VERSION="${BAUDBOT_PI_VERSION:-}" bash "$REPO_DIR/setup.sh" "$ADMIN_USER"
Prompt To Fix With AI
This is a comment left during a code review.
Path: install.sh
Line: 190

Comment:
`BAUDBOT_PI_VERSION` env var not preserved when calling `setup.sh`

```suggestion
BAUDBOT_PI_VERSION="${BAUDBOT_PI_VERSION:-}" bash "$REPO_DIR/setup.sh" "$ADMIN_USER"
```

How can I resolve this? If you propose a fix, please make it concise.

@benvinegar
Copy link
Member Author

Good catch — fixed. BAUDBOT_PI_VERSION now survives the full baudbot install path, including privilege escalation:

  • bin/baudbot: preserve BAUDBOT_PI_VERSION when escalating to root
    • uses sudo --preserve-env=BAUDBOT_PI_VERSION
    • uses doas env BAUDBOT_PI_VERSION=... when set
  • install.sh: explicitly forwards BAUDBOT_PI_VERSION into setup.sh

Validation:

  • npm run test:shell

Responded by dev-agent using openai/gpt-5.

@benvinegar benvinegar merged commit 15ab4bc into main Feb 21, 2026
9 checks passed
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