fix(ci): base compose stack on hstore topology - #30
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. Walkthrough工作流优先组合 HStore 基础 Compose 文件和开发覆盖文件。组合参数用于启动、状态检查、失败日志收集和停止操作。旧的自包含开发文件和 legacy 文件布局仍受支持。 ChangesCompose 文件组合支持
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to CI now pairs the HStore base Compose topology with the development overlay while retaining legacy Compose fallbacks. No concrete merge-blocking risk is identified. Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.) ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
apache/hugegraph#3149 reworked the docker directory and turned docker/docker-compose.dev.yml into a thin build overlay for the HStore topology. That file no longer defines environment, networks or ports on its own, so starting it alone leaves pd and store unconfigured: hg-pd | ERROR: missing required env 'HG_PD_GRPC_HOST' hg-store | ERROR: missing required env 'HG_STORE_PD_ADDRESS' Both containers exit immediately and the strict-mode job fails at "Start compose stack with local images". The scheduled latest publish has failed on master every night since that change landed. Use docker/docker-compose-hstore.yml as the base topology and layer the dev file on top when both are present. Source revisions that still ship a self-contained dev file keep working through the existing fallback. Ported from e2e52c0 on the topling-runtime-variant branch of hugegraph#28, without the hunk for the restart-persistence step, which does not exist on master. Co-authored-by: dark <jin@apache.org>
6d37387 to
6aefd77
Compare
There was a problem hiding this comment.
🟢 Approval recommended
The compose file layering logic is straightforward and consistent across start/logs/teardown, addressing the reported CI failure without introducing high-risk workflow behavior changes.
Pull request overview
Updates the shared PD/Store/Server reusable workflow to start the HugeGraph integration compose stack using the newer HStore topology layout (base docker-compose-hstore.yml plus the docker-compose.dev.yml overlay), fixing strict-mode failures after upstream split the configuration across two compose files.
Changes:
- Prefer
docker/docker-compose-hstore.ymlas the base compose file and layerdocker/docker-compose.dev.ymlon top when both exist. - Export a new
COMPOSE_DEV_FILEenv var and thread the optional second-fthrough composeup/ps/logs/downinvocations.
File summaries
| File | Description |
|---|---|
| .github/workflows/_publish_pd_store_server_reusable.yml | Adjusts compose file selection and docker compose invocation so strict-mode integration uses the correct HStore base topology + overlay. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
- document the HStore base and dev overlay pairing - retain legacy self-contained dev file guidance - keep runtime selection behavior unchanged
imbajin
left a comment
There was a problem hiding this comment.
Verified exact head 2f46a7b with the full multi-platform build and lifecycle run: https://github.com/hugegraph/actions/actions/runs/33715470077. No blocking issues remain.
Problem
The strict-mode
build_test_publish_multiarchjob fails onmasterat Start compose stack with local images. pd and store exit about a second after starting:apache/hugegraph#3149 (
98477f0, 2026-08-31 08:12 UTC) reworked thedocker/directory.docker/docker-compose.dev.ymlis now a thin build overlay for the HStore topology and carries onlyimage:,build:and astart_periodper service. TheHG_PD_*,HG_STORE_*andHG_SERVER_*settings, the network and the published ports all moved to the newdocker/docker-compose-hstore.yml.The compose file selection here still treats
docker-compose.dev.ymlas a complete stack, so the job starts the overlay on its own and pd and store come up with nothing configured. Upstream documents the two files as a pair indocker/README.md.Worth noting that
hg-serverstill reported healthy in the failing run. Its image healthcheck only curls/versions, so it passed while the container sat on "Waiting for partition assignment...".Fix
Prefer
docker/docker-compose-hstore.ymlas the base topology and layer the dev file on top when both are present. Source revisions that still ship a self-contained dev file keep working through the existing fallback, as do revisions with onlydocker/docker-compose.yml.This also unblocks the later steps, which curl
127.0.0.1:8620and127.0.0.1:8520. Onlydocker-compose-hstore.ymlpublishes those ports.Provenance
The fix is @imbajin's. It is ported from
e2e52c0on thetopling-runtime-variantbranch of #28, dropping the one hunk that patches the "Restart integration stack and verify persistence" step, which does not exist onmaster.85de017from that branch is not included: it renames volumes inside avolumes: !overrideblock that #28 introduces, andmasterhas no such block.Raised as a separate PR only because
masteris red now and #28 is a feature. Happy to close this if you would rather land #28 whole.Impact
Scheduled
latestpublish onmastersince the upstream change:Last green run on
masterwas 2026-08-31 01:19 UTC, about seven hours before apache/hugegraph#3149 merged. The successful publishes in between were dispatched from thetopling-runtime-variantbranch, which already carries the fix.Verification
Locally: the file parses as YAML and the three modified
run:blocks passbash -n. Not yet exercised end to end. Aworkflow_dispatchrun against this branch is the real check, and I do not have dispatch rights here.Summary by CodeRabbit