Framework | Infrastructure | Tools WG
This working group has its focus on EVerest framework, infrastructure and tooling.
Chair: Manuel Ziegler
Merged working groups
This working group is a merge of the two former working groups
EVerest Framework & Tools WG
EVerest CI/CD & Testing WG
We decided to have only one working group for those related topics.
To access the meeting notes from the former CI/CD & Testing sessions, see here: Testing & CI/CD WG
Meeting Agenda and Meeting Notes
2025-01-09
Current Development News
Issue with Reusable Workflow:
WIP: Coverage can’t be run on forks, since coverage report upload requires security token
WIP: Failing Coverage/Unit Tests in libocpp
Seems to be a flaky unit test that fails sometimes
Workflow doesn’t continue for some reason
-> reports aren’t uploaded
everest-framework
merged: Erase MessageHandler for topics without any registered handlers https://github.com/EVerest/everest-framework/pull/229
This reduces the number of idle threads modules use a lotPR: Reduce amount of error topics to one per impl https://github.com/EVerest/everest-framework/pull/225
This further reduces thread usage and helps ensure raise/clear events are delivered in the correct orderPR: Refactor schema loading and validation https://github.com/EVerest/everest-framework/pull/230
Makes config parsing a lot faster than beforePR: Additional everestpy runtime settings ctor https://github.com/EVerest/everest-framework/pull/232
Addition for everest-testing to more easily use the new config distribution via MQTT in probe modulesPR: Add function to cleanup retained topics to MQTTAbstraction https://github.com/EVerest/everest-framework/pull/233
The MQTT config distribution makes use of retained topics, this PR removes these after a successful startup by defaultPR: Restructure MQTT config distribution https://github.com/EVerest/everest-framework/pull/234
Smaller optimizations to the way parts of the config/schemas are distributed to modules
Community discussion
Build options for 1.6 and 2.0.1 have to be used in the CI
Issue to be tackled for libocppThreat model reporting. Separate meeting will be planned for talking about security-related coop.
Ask for improvement regarding download and build time.
Suggestion was to integrate artefacts and binary builds directly in the Docker container to speed things up.#meetingtimeslot
We will change to a alternating cadence: One month, we will have the working group in the morning, the other month in the afternoon.
Next time: 6th February 2025 - in the morning. To be communicated via Zulip and the calendar(s).
2024-10-14
Current Development News
Fix ev-cli template updates and make it available during configure
Config delivery via MQTT from manager to modules
PR in review: https://github.com/EVerest/everest-framework/pull/201
Exceptions during command calls/handling
Short talk about option to define and add error codes to the framework
3-tier-mapping for modules
see documentation at https://everest.github.io/nightly/general/05_existing_modules.html#tier-module-mappings
As there is currently a bug in the markdown file, you cannot see example configs at the moment. This will be fixed soon.
Further topics in pipeline:
Proper termination of EVerest modules
Concept has already been introduced in a prior WG.
More info to come as soon as there is news.
EVerest config service (and OCPP device model integration)
In concept stage, will build upon the config delivery via MQTT and allow runtime (re-)configuration
Organizational topics
Thinking about changing the cadence of the framework working group. Alternatively, merge framework and CI/CD working groups into one or doing them alternating.
Next meeting will be communicated via Zulip. Date depends on the decision about cadence or merging with other working group.
2024-09-02
Current Development News
Config delivery via MQTT from manager to modules
PR now in review: https://github.com/EVerest/everest-framework/pull/201
Replacement of Boost.Log in liblog with spdlog
PR in discussion: https://github.com/EVerest/liblog/pull/23
No further news.
Important: Next working group meetup is on September 30th - so we will skip one meetup.
2024-08-19
Current Development News
Config delivery via MQTT from manager to modules
Draft-PR open: https://github.com/EVerest/everest-framework/pull/201
Modules get configuration delivered via MQTT at startup to avoid unnecessary parsing steps for each module.
This one is a part of the future feature "Re-configuration at runtime" to work.
Replacement of Boost.Log in liblog with spdlog
Boost.Log still used at startup. For later logging, spdlog will be used.
PR is open: https://github.com/EVerest/liblog/pull/23
2024-08-05
Current Development News
Config delivery via MQTT from manager to modules
First draft of feature almost complete, PR coming soonReplacement of Boost.Log in liblog with spdlog
Initial port done, some work needed to have a complete compatibility layer to the existing configs
2024-07-22
Current Development News
Closed issue about "Error while clearing errors" as this has been solved by a recent PR
https://github.com/EVerest/everest-framework/issues/156
Next meetup on August 5th 2024.
2024-07-08
Current Development News
Concept of "Proper termination of EVerest modules" has been introduced - see slides below!
ev-cli needs not to be installed manually anymore.
More info on that:
https://everest.github.io/nightly/dev_tools/ev_cli.html
Community Topics
Questionnaire about reaching EVerest documentation and the usage of communication channels:
https://forms.gle/bTMsVdjGmVFPhb73A
Love to get your feedback!Wish for "How to's" regarding OCPP 2.0.1 and updated docs regarding SteVe.
Current status will be communicated and also help is of course very welcome.
Next Framework & Tools Working Group on July 22nd.
2024-06-17
Current Development News
Error Handling development: No news currently.
Bazel dependency generation
First PR merged. Another one in the make.
Docs will follow.Refactor ev-cli usage
News from Andreas in the upcoming meetup.
Community Topics
Question about the warnings not being shown during build.
Short discussion about that. E.g. about the question of dependencies also reporting warnings.
Moritz created a PR (https://github.com/EVerest/everest-core/pull/728) about activating warning output.
Next working group at July 8th - from then on again a 2-week cadency.
2024-05-27
Current Development News
Some news from the Error Handling development from Andreas.
See some first documentation structure for Error Handling:
https://everest.github.io/nightly/general/01_framework/index.html#more
This will still grow over the upcoming weeks.Rust Error Handling implementation will now be kicked-off.
Bazel dependency generation
https://github.com/EVerest/everest-dev-environment/pull/42
Docs: https://github.com/EVerest/EVerest/pull/170Still a WIP
Optimized automatism by using edm now to read dependencies.
Community Topics
Thought exchange about config changes and handling them.
Potential bug in liblog
Announcement: New human readable summary of release notes upcoming.
Feedback welcomed: https://github.com/EVerest/EVerest/pull/169
Eventually, next working group will be postponed from June 10th to June 17th.
Update via Zulip and Mailinglist.
2024-05-08
Current Development News
According to Bazel integration: Choose tags or commit hash in dependencies.yaml
https://github.com/EVerest/everest-core/pull/654
Merged now.Generate version information that's displayed during EVerest startup
Ongoing development.
Short discussion about including also version information for all modules. Still undecided.Support for Rust in meta-everest.
https://github.com/EVerest/meta-everest/issues/24Rust support for EVerest error handling
Andreas will create some PRs in the upcoming days to give more info for Rust error handling development.
2024-04-22
Framework & Tools Update
Generate version information that's displayed during startup - in Draft phase
Rust WIPs
Support of modules in meta-everest
Support error handling
Newly merged: Using Git's versionsort.suffix mechanism
https://github.com/EVerest/everest-dev-environment/pull/40
Community Topics
Discussion about listing currently raised errors (see Zulip)
Is planned for integration in error handling concept
Move some logging from debug to verbose level
Currently still in Draft status
https://github.com/EVerest/everest-framework/pull/183
2024-03-25
Presentation of the current status of the error handling framework
Discussing "devcontainers" in EVerest
2024-03-13
**Decisions**
- Setup error handling agenda point for next meeting (Manuel)
**Actions**
- Add some best practice to documentation about building steps after changing types / interfaces etc. (Manuel / Kai)
- Improve ev-cli to give feedback to user and way to proceed (Evgeny)
- Time-slot: Afternoon better choice? (Manuel)
- Improve ev-cli docs (based on ev-cli help cmd) (Manuel)
- Add tutorial about out-of-tree module dev (Kai has some example module)
2024-02-26
Meeting notes:
Multiple performance improvements have been done for the current release.
Docu update done: New framework illustrations
(see https://everest.github.io/nightly/general/01_framework.html)Issue from the community: EDM is not applying cmake_condition to parent
2024-02-14
Meeting notes:
cmake
Current work on conditional dependencies has been merged.
See e.g. the new file module-dependencies.cmake in everest-core repo.Question about excluding modules modules from build
Answer: Go with the cmake parameter EVEREST_EXCLUDE_MODULES which takes a list of modules to be excluded. Same is possible with EVEREST_INCLUDE_MODULES
Short preview for an upcoming documentation PR about a top-level view on framework functionality.
PR will be announced via Zulip.Release cycle process
Docu update on GitHub will follow.Rust Support:
Feedback is welcomed!
Manuel will include some promotion in the big documentation on everest.github.io
Bazel
Announcement for upcoming PR - e.g. improve testing integration.
Best practice when starting to work on things:
Create an issue to announce your current work so that others that are interested or eventually working on similar stuff can get in touch.
This will also be added to contribution docs.
Slides:
2024-01-22
Meeting notes:
Frequency and time-slots for our working group meetings
Bi-weekly and alternating between morning and afternoon (CET)
Decision was to set it on Wednesdays in a week without a Car Communication working group call.
As there is now already another working group meetup, I will setup an alternative for the first events. Then, we will see how that works out.
Topics in our working group
Tools: edm, ev-cli
Current framework topics: Rust integration, cmake / conditional dependencies.