mikebridge opened a new pull request, #44407: URL: https://github.com/apache/superset/pull/44407
### SUMMARY Fixes the upstream CLI failure-propagation portion of [SC-119473](https://app.shortcut.com/preset/story/119473). A real frontend npm build script (`node -e "process.exit(1)"`) reproduces false success: both `build` and `bundle` returned exit 0, and `bundle` produced a manifest-only `.supx` after reporting the frontend failure. With this change both commands return exit 1, without writing a new manifest or archive. The guard belongs at the `build` call site. `rebuild_frontend` retains its `None`-on-failure contract so the `dev` watcher can recover on a subsequent change. Backend-only builds remain unaffected. Existing archives are retained; callers must check the exit status. Related downstream guard: https://github.com/preset-io/superset-shell/pull/5161. The unbounded `apache-superset-core` dependency pin is tracked separately in #42568 and is untouched. ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF CLI-only change; no UI screenshots. | Real failing frontend build | Before | After | | --- | --- | --- | | `build` exit status | 0 | 1 | | `bundle` exit status | 0 | 1 | | New archive | Invalid, manifest-only `.supx` | None | ### TESTING INSTRUCTIONS From `superset-extensions-cli`, run `pytest -o addopts='' -q tests/` with the local CLI and core packages importable. Result: **275 passed**, with 15 existing Click/semver deprecation warnings. All applicable changed-file pre-commit hooks passed, including package MyPy, Ruff and custom pylint. Updated parametrized tests cover failed `build` and `bundle` commands and the helper's nonzero compiler results. Two new command-level test functions cover successful/failed compiler propagation through real manifest/archive paths, rejection of stale frontend output on failure, and the registered dev callback recovering through success/failure/success without a live watcher thread. Manual reproduction used an actual failing npm subprocess before and after the fix, not a mocked compiler. Before: exit 0 and a manifest-only archive. After: exit 1 and no new archive. No dependency installations or Docker builds were required. ### ADDITIONAL INFORMATION - [x] Has associated issue: [SC-119473](https://app.shortcut.com/preset/story/119473) - [ ] Required feature flags: - [ ] Changes UI - [ ] Includes DB Migration (follow approval process in [SIP-59](https://github.com/apache/superset/issues/13351)) - [ ] Migration is atomic, supports rollback & is backwards-compatible - [ ] Confirm DB migration upgrade and downgrade tested - [ ] Runtime estimates and downtime expectations provided - [ ] Introduces new feature or API - [ ] Removes existing feature or API -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
