Skip to content

Bump score_lifecycle pin and fix simple_lifecycle mw::com config - #350

Open
hskang-amelia wants to merge 2 commits into
eclipse-score:mainfrom
hskang-amelia:bump-lifecycle-pin-fix-simple-lifecycle-mw-com
Open

hskang-amelia wants to merge 2 commits into
eclipse-score:mainfrom
hskang-amelia:bump-lifecycle-pin-fix-simple-lifecycle-mw-com

Conversation

@hskang-amelia

Copy link
Copy Markdown
Contributor

What

Two changes, verified together against a real launch_manager run:

  1. Bump score_lifecycle from 85da2168328d17a3cf53791ebf93534e5ed921fc
    to 9b86164ac1f850f76ac8ce743be903f98a60f422 (current main), and migrate
    showcases/simple_lifecycle/configs/launch_manager_config.json to the
    _ms field names/units that Use milliseconds directly in launch manager config schema lifecycle#637 introduced
    (already merged upstream; this repo's pin just hadn't caught up).

  2. Package mw_com_config.json for the simple_lifecycle showcase.
    launch_manager and its supervised components (control_daemon,
    cpp_supervised_app, rust_supervised_app) all initialize mw::com's
    LmControlService (ActivateRunTarget/GetActiveRunTarget), which needs
    a mw_com_config.json. showcases/simple_lifecycle/BUILD never packaged
    one — unlike showcases/standalone/BUILD, which does — so on a real run
    launch_manager itself aborted immediately, and after fixing that,
    every supervised component still failed the same way and sat in
    launch_manager's fallback restart loop, since ProcessGroupManager
    chdirs each component into bin_dir before exec'ing it — a different
    directory than launch_manager's own cwd.

Why

Found while independently verifying eclipse-score/lifecycle#654 end-to-end
against this repo's simple_lifecycle showcase (the only place in this repo
that exercises launch_manager's real ControlProvider alongside a real
mw::com client). Neither issue is specific to #654 — both are pre-existing
gaps that just hadn't been exercised, since simple_lifecycle wasn't
runnable end-to-end before this.

How

  • mw_com_config.json is the same LmControlService service definition
    already used by lifecycle's own integration tests (service id 7101,
    methods ActivateRunTarget/GetActiveRunTarget).
  • It's staged at both data/simple_lifecycle/etc/ (via the existing
    custom_layout, for launch_manager's own cwd) and bin/etc/ (via a
    small extra pkg_files target passed through other_package_files, for
    each component's cwd) — score_pkg_bundle's custom_layout can only
    place files under data/NAME/, so it can't reach bin/etc/ on its own.

Testing

Built and ran the bundle end-to-end in
ghcr.io/eclipse-score/devcontainer:v1.11.0 (this sandbox's host glibc is
too old for the Bazel-pulled Rust toolchain the bumped module needs):

bazel build --config=linux-x86_64 //showcases/simple_lifecycle:simple_lifecycle

Extracted and ran the resulting bundle directly: launch_manager starts
cleanly, supervises control_daemon/cpp_supervised_app/rust_supervised_app
with no mw::com initialization errors, correctly transitions to the fallback
run target when cpp_supervised_app's SIGUSR1 simulates a fault, and shuts
down with exit code 0 on SIGTERM. Before this change, launch_manager
aborted on startup (missing config) and, once that was worked around,
control_daemon crash-looped every ~150ms indefinitely.

🤖 Generated with Claude Code

Bumps score_lifecycle to the latest known-good hash and packages
mw_com_config.json into the simple_lifecycle showcase so mw::com
initializes correctly for components run by launch_manager. The
config is staged both under etc/ (for launch_manager's own cwd)
and bin/etc/ (for components chdir'd into bin_dir by
ProcessGroupManager), since mw::com resolves the config path
relative to each component's cwd at exec time.
@hskang-amelia
hskang-amelia force-pushed the bump-lifecycle-pin-fix-simple-lifecycle-mw-com branch from bd23510 to 0876214 Compare September 21, 2026 07:25
@github-actions

Copy link
Copy Markdown

The created documentation from the pull request is available at: docu-html

This branch has not been deployed

No deployments
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