Skip to content

fix: add CMCONF_FLEET_PROTOCOL_DIR to cmake builds#51

Merged
jiriskuta merged 4 commits into
masterfrom
test/no-transparent-module
Mar 27, 2026
Merged

fix: add CMCONF_FLEET_PROTOCOL_DIR to cmake builds#51
jiriskuta merged 4 commits into
masterfrom
test/no-transparent-module

Conversation

@jiriskuta

@jiriskuta jiriskuta commented Mar 26, 2026

Copy link
Copy Markdown
Contributor

Fixes Docker build failure caused by CMCONF v1.2.x requiring explicit config path via -DCMCONF_FLEET_PROTOCOL_DIR.

Summary by CodeRabbit

  • Chores
    • Optimized the Docker build by adding a shared C++ build stage to centralize common CMake configuration for all module builders.
    • Updated mission, IO, and transparent module build stages to inherit from the new shared stage for consistent configuration.
    • Reduced build duplication and improved maintainability of build configuration across modules.

@coderabbitai

coderabbitai Bot commented Mar 26, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 998092f3-077b-44bf-88de-174a7bccea57

📥 Commits

Reviewing files that changed from the base of the PR and between 7ce5df3 and 0407cf1.

📒 Files selected for processing (1)
  • Dockerfile

Walkthrough

Adds a shared Docker build stage cpp_build_base that downloads the CMCONF CMake config and updates mission/io/transparent module builder stages to inherit this base and pass -DCMCONF_FLEET_PROTOCOL_DIR=/home/bringauto/cmconf to CMake.

Changes

Cohort / File(s) Summary
Dockerfile: CMCONF base
Dockerfile
Adds new cpp_build_base stage that creates /home/bringauto/cmconf and downloads CMCONF_FLEET_PROTOCOLConfig.cmake (parameterized by CMCONF_VERSION).
Dockerfile: Module builder updates
Dockerfile
Changes mission_module_builder, io_module_builder, and transparent_module_builder to derive from cpp_build_base and adds -DCMCONF_FLEET_PROTOCOL_DIR=/home/bringauto/cmconf to both package/config (BRINGAUTO_GET_PACKAGES_ONLY=ON) and final install (BRINGAUTO_INSTALL=ON) CMake invocations.

Sequence Diagram(s)

sequenceDiagram
    participant Docker as Docker build
    participant CMCONF as CMCONF server
    participant Module as Module builder (CMake)

    Docker->>CMCONF: download CMCONF_FLEET_PROTOCOLConfig.cmake
    CMCONF-->>Docker: return config file
    Docker->>Module: inherit cpp_build_base (has /home/bringauto/cmconf)
    Module->>Module: run CMake with -DCMCONF_FLEET_PROTOCOL_DIR=/home/bringauto/cmconf (packages-only)
    Module->>Module: run CMake with -DCMCONF_FLEET_PROTOCOL_DIR=/home/bringauto/cmconf (install)
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: adding CMCONF_FLEET_PROTOCOL_DIR parameter to CMake builds, which directly addresses the Docker build failure described in the PR objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch test/no-transparent-module

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@Dockerfile`:
- Around line 5-7: The Dockerfile currently downloads
CMCONF_FLEET_PROTOCOLConfig.cmake from the floating master branch; add a build
ARG (e.g., CMCONF_REF or CMCONF_VERSION) and use it in the wget URL to pin the
fetch to a specific commit/tag. Specifically, introduce ARG CMCONF_VERSION (with
a sensible default or empty), then update the RUN wget target URL for
CMCONF_FLEET_PROTOCOLConfig.cmake to replace "master" with ${CMCONF_VERSION} so
builds can be reproduced and overridden at build time; ensure the created
directory and filename (CMCONF_FLEET_PROTOCOLConfig.cmake) remain unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6c940101-1024-42cd-91ed-e5a3aa289d81

📥 Commits

Reviewing files that changed from the base of the PR and between 2f9bf6c and 7ce5df3.

📒 Files selected for processing (1)
  • Dockerfile

Comment thread Dockerfile Outdated
@sonarqubecloud

Copy link
Copy Markdown

@jiriskuta jiriskuta merged commit 50716f9 into master Mar 27, 2026
3 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