Skip to content

ci: smoke-test baudbot CLI flows on droplets#145

Merged
benvinegar merged 1 commit intomainfrom
ci/smoke-cli-flows
Feb 23, 2026
Merged

ci: smoke-test baudbot CLI flows on droplets#145
benvinegar merged 1 commit intomainfrom
ci/smoke-cli-flows

Conversation

@benvinegar
Copy link
Copy Markdown
Member

Summary

  • add bin/ci/smoke-cli.sh to validate always-in-PR CLI flows after install
  • run the smoke script in both droplet setup paths:
    • bin/ci/setup-ubuntu.sh
    • bin/ci/setup-arch.sh
  • include timeouts and expected exit-code handling (including baudbot logs timeout behavior)

Commands covered

  • baudbot --version
  • baudbot --help
  • baudbot env --help
  • sudo baudbot start
  • sudo baudbot status
  • sudo baudbot sessions
  • sudo baudbot logs (timeout expected)
  • sudo baudbot doctor
  • sudo baudbot audit --deep
  • sudo baudbot restart
  • sudo baudbot stop
  • sudo baudbot start (again)
  • sudo baudbot uninstall --dry-run

Validation

  • live run on fresh DigitalOcean droplets (Ubuntu + Arch)
  • smoke checks: 13/13 passed on both distros
  • existing bin/test.sh suite still passed on both distros

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Feb 23, 2026

Greptile Summary

Added comprehensive CLI smoke testing to droplet CI workflows. The new smoke-cli.sh script validates 13 critical baudbot commands after installation, including start/stop/restart flows, status checks, and diagnostic commands. Integration into both Ubuntu and Arch setup scripts ensures CLI functionality is verified before running the full test suite.

  • Introduced bin/ci/smoke-cli.sh with timeout handling and exit code validation
  • Integrated smoke tests into both setup-ubuntu.sh and setup-arch.sh after install verification
  • Covers essential CLI operations: version, help, service lifecycle, diagnostics, and dry-run uninstall
  • Properly handles expected timeout for baudbot logs command (exit code 124)
  • Accepts multiple valid exit codes for baudbot audit --deep (0, 1, 2)

Confidence Score: 5/5

  • Safe to merge - solid CI enhancement with proper error handling
  • Well-structured smoke test implementation that adds valuable CI coverage. The script follows existing patterns, includes appropriate timeout handling, and has been validated on both Ubuntu and Arch droplets. Only minor style improvement suggested.
  • No files require special attention

Important Files Changed

Filename Overview
bin/ci/smoke-cli.sh Added comprehensive CLI smoke test script with timeout handling and expected exit codes. Logic issue with expected_ok initialization on line 29.
bin/ci/setup-arch.sh Added smoke test execution call after install verification. Clean integration.
bin/ci/setup-ubuntu.sh Added smoke test execution call after install verification. Clean integration.

Last reviewed commit: e7964d6

Copy link
Copy Markdown

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

3 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

Comment thread bin/ci/smoke-cli.sh
Comment on lines +29 to +30
local expected_ok=1 expected
IFS=',' read -r -a expected <<< "$expected_csv"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

expected_ok initialized to 1 then immediately set to 0, making the first assignment redundant

Suggested change
local expected_ok=1 expected
IFS=',' read -r -a expected <<< "$expected_csv"
local expected_ok=0 expected
Prompt To Fix With AI
This is a comment left during a code review.
Path: bin/ci/smoke-cli.sh
Line: 29-30

Comment:
`expected_ok` initialized to 1 then immediately set to 0, making the first assignment redundant

```suggestion
  local expected_ok=0 expected
```

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

@benvinegar benvinegar merged commit 8e9ea56 into main Feb 23, 2026
10 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