Skip to content

Refactored compile infrastructure#531

Merged
jorgesg82 merged 14 commits into
developmentfrom
refactor/cmake
Nov 29, 2025
Merged

Refactored compile infrastructure#531
jorgesg82 merged 14 commits into
developmentfrom
refactor/cmake

Conversation

@jorgesg82

Copy link
Copy Markdown
Contributor

No description provided.

@jorgesg82 jorgesg82 self-assigned this Nov 29, 2025
Copilot AI review requested due to automatic review settings November 29, 2025 12:53

Copilot AI 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.

Pull request overview

This PR refactors the compile infrastructure to support conditional Ethernet compilation via STLIB_ETH preprocessor define. It introduces a Docker-based CI/CD pipeline, removes simulator/mock code, consolidates HAL initialization, and restructures CMake to filter sources based on Ethernet support.

  • Adds conditional Ethernet compilation with STLIB_ETH guard
  • Implements Docker-based build toolchain with STM32CubeCLT 1.16.0
  • Removes all HALALMock files and SIM_ON support
  • Refactors CMake to filter source files by Ethernet dependency using regex patterns

Reviewed changes

Copilot reviewed 58 out of 58 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
CMakeLists.txt Major refactor: adds conditional source filtering for ETH/NO_ETH variants, updates C/C++ standards (C++23, C17)
ci/Dockerfile New Docker image for build toolchain with STM32CubeCLT, git, cmake, ninja
.github/workflows/*.yml Updates CI to use new Docker image and init submodules explicitly
tools/init-submodules.sh Improves portability by computing script directory instead of using git rev-parse
Src/HALAL/HALAL.cpp Splits start() into ETH/non-ETH variants, extracts common_start() helper
Src/ST-LIB.cpp Adds conditional start() overloads based on STLIB_ETH
Inc/HALAL/HALAL.hpp Removes SIM_ON conditionals, adds STLIB_ETH guards for Ethernet headers
Inc/HALALMock/* All mock/simulator files deleted
Src/ST-LIB_LOW/StateMachine/*.cpp Comments out StateOrder functionality (ETH-dependent)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread ci/Dockerfile Outdated
Comment thread Src/ST-LIB_LOW/StateMachine/StateMachine.cpp Outdated
Comment thread Src/ST-LIB_LOW/StateMachine/StateMachine.cpp Outdated
Comment thread Src/ST-LIB_LOW/StateMachine/StateMachine.cpp Outdated
Comment thread Src/ST-LIB_HIGH/ST-LIB_HIGH.cpp
Comment thread .github/workflows/build-toolchain-image.yml

Copilot AI commented Nov 29, 2025

Copy link
Copy Markdown
Contributor

@jorgesg82 I've opened a new pull request, #532, to work on those changes. Once the pull request is ready, I'll request review from you.

jorgesg82 and others added 2 commits November 29, 2025 13:58
)

* Initial plan

* Replace commented-out StateOrder code with #ifdef STLIB_ETH preprocessor guards

Co-authored-by: jorgesg82 <125664643+jorgesg82@users.noreply.github.com>

* Address feedback on commented-out StateOrder code

Co-authored-by: jorgesg82 <125664643+jorgesg82@users.noreply.github.com>

* Remove CodeQL build artifacts and update .gitignore

Co-authored-by: jorgesg82 <125664643+jorgesg82@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jorgesg82 <125664643+jorgesg82@users.noreply.github.com>
@jorgesg82 jorgesg82 merged commit a468d6e into development Nov 29, 2025
12 checks passed
@jdmarmen jdmarmen deleted the refactor/cmake branch January 27, 2026 17:31
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.

3 participants