Repository navigation
fix: make AEC step in setup.sh gracefully degrade when Chrome is missing - #27
Conversation
|
Thanks for the contribution! To get this ready to merge:
Full conventions: |
Previously, setup.sh would exit 1 at step [4/7] AEC if Chrome/Chromium was not found, blocking the entire installation (build, launcher, install steps 5-7 never run). The --skip-chrome-install flag was also only checked on macOS and ignored on Linux. Now the AEC step: - Warns the user that AEC will be disabled when Chrome is not found - Runs step aec off instead of aborting - Continues with the rest of the setup (build, launcher, install) - On macOS, still attempts auto-install via Homebrew unless --skip-chrome-install is passed (but no longer aborts on failure) - Shows platform-specific install instructions so users can enable AEC later with step aec on Fixes stepfun-ai/Step-Code#26
7856edb to
3f19811
Compare
|
Thanks @ZouR-Ma for the review guidance!
Ready for review when you have a moment. |
|
Keep the installer usable when Homebrew cannot install Chrome by disabling AEC and completing setup.
|
Fixed in 1aacd4a.
Validation:
|
Ensure the failing-Homebrew scenario cannot use Chrome preinstalled on macOS runners.
Keep the Homebrew failure regression independent of CI runner browsers and test process environment.
Make the Homebrew failure regression deterministic across macOS runner browser installations.
|
Re-review passed — this is ready to land. The brew guard is exactly right: on failure One small wording issue we'll take care of directly on this branch (maintainer edit) so it doesn't cost you another round: after a failed brew install the script still re-runs Chrome detection, and that branch prints "Chrome install succeeded but binary not detected" — misleading right after brew reported a failure. We'll move the re-detection inside the success branch and adjust the test assertion accordingly. Thanks for the fast turnaround across both rounds — merging once CI reruns on that touch-up. |
After a failed brew install the script re-ran detect_chrome and printed "Chrome install succeeded but binary not detected", which is misleading right after the failure warning. Move the re-detection into the success branch and update the tripwire assertion in setup.test.ts.
ZouR-Ma
left a comment
There was a problem hiding this comment.
Re-review passed: the brew guard fix is verified, the new setup.test.ts end-to-end regression locks down the failure scenario, and the wording touch-up landed on this branch. All required checks are green on the merged state. Approving.
Summary
Closes #26
setup.shpreviously treated missing Chrome/Chromium as a fatal error at step [4/7] AEC, callingexit 1and aborting the entire installation. This blocked steps 5-7 (build, launcher, install) from running, making it impossible to installstepon:step exec)Additionally, the
--skip-chrome-installflag was only checked on macOS and completely ignored on Linux.Changes
step aec offinstead of aborting. The setup continues normally through build, launcher, and install.--skip-chrome-install, the script still attemptsbrew install --cask google-chrome, but no longer aborts if Homebrew is missing or the install fails.step aec on.Before / After
exit 1at step 4 — setup abortedstep aec off, continues--skip-chrome-installexit 1at step 4 (flag ignored)--skip-chrome-installexit 1at step 4step aec off, continuesexit 1at step 4step aec off, continuesstep aec on✓step aec on✓ (unchanged)Test plan
bash scripts/setup.shon Linux without Chrome — verify setup completes andstep --versionworksbash scripts/setup.shon Linux with Chrome — verify AEC is enabledbash scripts/setup.sh --skip-chrome-installon macOS without Chrome — verify setup completes with AEC disabledbash scripts/setup.shon macOS without Chrome (with Homebrew) — verify Chrome auto-install is attempted, AEC enabled on success