chore: update emil - #21
Merged
Merged
Conversation
Contributor
Author
✅
|
| Descriptor | Linter | Files | Fixed | Errors | Warnings | Elapsed time |
|---|---|---|---|---|---|---|
| ✅ ACTION | actionlint | 5 | 0 | 0 | 0.34s | |
| ✅ CPP | clang-format | 15 | 6 | 0 | 0 | 0.58s |
| ✅ CPP | cppcheck | 15 | 0 | 0 | 0.97s | |
| ✅ DOCKERFILE | hadolint | 1 | 0 | 0 | 0.35s | |
| ✅ JSON | jsonlint | 7 | 0 | 0 | 0.23s | |
| ✅ JSON | prettier | 7 | 2 | 0 | 0 | 0.92s |
| markdownlint | 12 | 1 | 19 | 0 | 1.5s | |
| ✅ MARKDOWN | markdown-table-formatter | 12 | 1 | 0 | 0 | 0.6s |
| ✅ REPOSITORY | git_diff | yes | no | no | 0.34s | |
| ✅ REPOSITORY | grype | yes | no | no | 29.74s | |
| ✅ REPOSITORY | ls-lint | yes | no | no | 0.06s | |
| ✅ REPOSITORY | secretlint | yes | no | no | 44.09s | |
| ✅ REPOSITORY | syft | yes | no | no | 1.3s | |
| ✅ REPOSITORY | trivy | yes | no | no | 6.38s | |
| ✅ REPOSITORY | trivy-sbom | yes | no | no | 1.15s | |
| ✅ REPOSITORY | trufflehog | yes | no | no | 8.2s | |
| lychee | 38 | 3 | 0 | 87.28s | ||
| ✅ YAML | prettier | 8 | 1 | 0 | 0 | 0.64s |
| ✅ YAML | v8r | 8 | 0 | 0 | 5.57s | |
| ✅ YAML | yamllint | 8 | 0 | 0 | 0.47s |
Detailed Issues
⚠️ SPELL / lychee - 3 errors
[ERROR] file://.github/copilot-instructions.md | Cannot find file
[ERROR] http://mcd.rou.st.com/modules.php?name=mcu | Network error: error sending request for url (http://mcd.rou.st.com/modules.php?name=mcu) Maybe a certificate error?
[404] https://api.securityscorecards.dev/projects/github.com/embedded-pro/hal-st | Network error: Not Found
[TIMEOUT] https://st.com/ | Timeout
📝 Summary
---------------------
🔍 Total..........247
✅ Successful.....240
⏳ Timeouts.........1
🔀 Redirected.......0
👻 Excluded.........3
❓ Unknown..........0
🚫 Errors...........3
Errors in README.md
[TIMEOUT] https://st.com/ | Timeout
[404] https://api.securityscorecards.dev/projects/github.com/embedded-pro/hal-st | Network error: Not Found
Errors in .github/ISSUE_TEMPLATE/add-or-update-hal-driver.md
[ERROR] http://mcd.rou.st.com/modules.php?name=mcu | Network error: error sending request for url (http://mcd.rou.st.com/modules.php?name=mcu) Maybe a certificate error?
Errors in .github/agents/orchestrator.agent.md
[ERROR] file://.github/copilot-instructions.md | Cannot find file
⚠️ MARKDOWN / markdownlint - 19 errors
.github/agents/executor.agent.md:11 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "You are the executor agent for..."]
.github/agents/orchestrator.agent.md:18:401 MD013/line-length Line length [Expected: 400; Actual: 420]
.github/agents/orchestrator.agent.md:18 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "You are the orchestrator agent..."]
.github/agents/planner.agent.md:11 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "You are the planner agent for ..."]
.github/agents/planner.agent.md:39 MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
.github/agents/reviewer.agent.md:14 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "You are the reviewer agent for..."]
.github/agents/reviewer.agent.md:122 MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
.github/instructions/hal-st-cpp.instructions.md:18 MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
.github/ISSUE_TEMPLATE/add-or-update-hal-driver.md:10 MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "How to import a HAL driver"]
.github/prompts/orchestrate.prompt.md:8 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "Start a new development workfl..."]
CHANGELOG.md:83 MD024/no-duplicate-heading Multiple headings with the same content [Context: "⚠ BREAKING CHANGES"]
CHANGELOG.md:87 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Features"]
CHANGELOG.md:94 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Bug Fixes"]
CHANGELOG.md:103 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Features"]
CHANGELOG.md:122 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Bug Fixes"]
CHANGELOG.md:140 MD024/no-duplicate-heading Multiple headings with the same content [Context: "⚠ BREAKING CHANGES"]
CHANGELOG.md:144 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Features"]
CHANGELOG.md:151 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Features"]
CHANGELOG.md:162 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Bug Fixes"]
See detailed reports in MegaLinter artifacts
Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)
- Documentation: Custom Flavors
- Command:
npx mega-linter-runner@9.0.1 --custom-flavor-setup --custom-flavor-linters ACTION_ACTIONLINT,CPP_CPPCHECK,CPP_CLANG_FORMAT,DOCKERFILE_HADOLINT,JSON_JSONLINT,JSON_PRETTIER,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,REPOSITORY_GIT_DIFF,REPOSITORY_GRYPE,REPOSITORY_LS_LINT,REPOSITORY_SECRETLINT,REPOSITORY_SYFT,REPOSITORY_TRIVY,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,SPELL_LYCHEE,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the emil dependency and adapts the codebase to API/type changes introduced by that update (notably migrating from infra::Optional / infra::Variant to std::optional / std::variant, and updating echo-related include/library targets).
Changes:
- Bump
emilGit tag and enableEMIL_BUILD_ECHO_COMPILERS. - Migrate multiple modules from
infra::Optional/infra::Varianttostd::optional/std::variant(includingin_place/nullopt/make_optionalcall sites). - Update integration-test and networking/echo includes + CMake link targets to newer component names.
Reviewed changes
Copilot reviewed 44 out of 44 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
| services/st_util/StBootloaderCommunicatorUart.hpp | Switch receive-buffer bookkeeping to std::optional. |
| services/st_util/StBootloaderCommunicatorUart.cpp | Replace infra optional/in-place usage with std equivalents. |
| integration_test/tester/Tester.cpp | Update creator callback to use std::optional. |
| integration_test/tester/Main.cpp | Update creator callback to use std::optional. |
| integration_test/tester/ForwardingEchoToTested.hpp | Update ServiceForwarder include path. |
| integration_test/runner/StepsUart.cpp | Update context construction API (Emplace → emplace). |
| integration_test/runner/StepsGpio.cpp | Update context construction API (Emplace → emplace). |
| integration_test/runner/Hooks.cpp | Update context construction API (Emplace → emplace). |
| integration_test/logic/Tester.hpp | Change proxy creators to std::optional. |
| integration_test/logic/Tester.cpp | Replace infra::none/Emplace with std::nullopt/emplace. |
| integration_test/logic/test/TestFlash.cpp | Update echo test-double include paths. |
| integration_test/logic/test/CMakeLists.txt | Link against new echo-core test-doubles target. |
| integration_test/logic/Peripheral.hpp | Simplify peripheral construction via std::apply + constructed.Emplace. |
| integration_test/logic/CMakeLists.txt | Link against services.echo_core instead of protobuf.echo. |
| hal_st/synchronous_stm32fxxx/SynchronousUartStm.hpp | Convert RTS/CTS pins from infra optional to std::optional. |
| hal_st/synchronous_stm32fxxx/SynchronousUartStm.cpp | Convert .Emplace() calls to .emplace(). |
| hal_st/stm32fxxx/UsbHostLinkLayerStm.hpp | Migrate variant/optional members to std types. |
| hal_st/stm32fxxx/UsbHostLinkLayerStm.cpp | Use std::in_place_type and std::nullopt. |
| hal_st/stm32fxxx/TimerStm.hpp | Convert trigger optional to std::optional and include <optional>. |
| hal_st/stm32fxxx/SpiMasterStm.hpp | Convert interrupt registration optional to std::optional. |
| hal_st/stm32fxxx/SpiMasterStm.cpp | Convert .Emplace()/reset to .emplace()/std::nullopt. |
| hal_st/stm32fxxx/SingleSpeedQuadSpiStmDma.cpp | Replace infra::none with std::nullopt in QSPI header. |
| hal_st/stm32fxxx/QuadSpiStm.cpp | Replace ValueOr with value_or. |
| hal_st/stm32fxxx/DmaStm.hpp | Convert IRQ handler storage to std::variant. |
| hal_st/stm32fxxx/DmaStm.cpp | Convert optional usage + variant construction/get to std equivalents. |
| hal_st/stm32fxxx/DigitalToAnalogPinStm.hpp | Convert internal pin optional to std::optional and include <optional>. |
| hal_st/stm32fxxx/DigitalToAnalogPinStm.cpp | Replace infra::inPlace with std::in_place. |
| hal_st/stm32fxxx/AdcTimerTriggeredBase.cpp | Replace infra::MakeOptional with std::make_optional. |
| hal_st/stm32fxxx/AdcDmaStm.cpp | Replace infra::MakeOptional with std::make_optional. |
| hal_st/middlewares/ble_middleware/TracingGapCentralSt.hpp | Update API to return std::optional. |
| hal_st/middlewares/ble_middleware/TracingGapCentralSt.cpp | Update implementation signature to std::optional. |
| hal_st/middlewares/ble_middleware/GattServerSt.cpp | Switch UUID variant checks/accessors to std variant utilities. |
| hal_st/middlewares/ble_middleware/GattClientSt.cpp | Switch UUID variant emplace to .emplace<>. |
| hal_st/middlewares/ble_middleware/GapCentralSt.hpp | Update API to return std::optional. |
| hal_st/middlewares/ble_middleware/GapCentralSt.cpp | Replace infra::none/MakeOptional with std equivalents. |
| hal_st/middlewares/ble_middleware/BleDtmSt.hpp | Update API to return std::optional<uint16_t> and include <optional>. |
| hal_st/middlewares/ble_middleware/BleDtmSt.cpp | Replace optional creation/reset with std equivalents. |
| hal_st/cortex/InterruptCortex.hpp | Convert IRQ optional to std::optional and include <optional>. |
| hal_st/cortex/InterruptCortex.cpp | Replace infra::none resets with std::nullopt. |
| hal_st_lwip/instantiations_lwip/EthernetSmiObserver.hpp | Convert peripheral optionals to std::optional. |
| hal_st_lwip/instantiations_lwip/EthernetSmiObserver.cpp | Replace infra::inPlace/Emplace/none with std equivalents. |
| hal_st_lwip/instantiations_lwip/Ethernet.hpp | Update LLMNR include + connected optional handling. |
| hal_st_lwip/instantiations_lwip/CMakeLists.txt | Link against services.network.dns. |
| CMakeLists.txt | Update emil tag and enable echo compilers build option. |
Comments suppressed due to low confidence (1)
hal_st/middlewares/ble_middleware/GattServerSt.cpp:13
- This file uses
std::holds_alternative,std::get, andstd::abort()but does not include the corresponding standard headers. Consider adding#include <variant>and#include <cstdlib>here to avoid relying on transitive includes from other headers.
uint8_t UuidToType(const services::AttAttribute::Uuid& uuid)
{
if (std::holds_alternative<services::AttAttribute::Uuid16>(uuid))
return 0x01;
else if (std::holds_alternative<services::AttAttribute::Uuid128>(uuid))
return 0x02;
std::abort(); // Unsupported uuid type
}
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

No description provided.