For seamless development and testing the developer should not have to care about anything apart from the codebase itself. This means that Pipelines for build and deploy processes have to be set up. In the past this was already possible but since the Winder Codebase is split up into HardwareLibrary and Winder the build fails.
Also the implementation had some flaws:
Autmatic Changelog builds did never work well
Commits had to be prefixed with specific words
Changelogs were never built into the final frontend (altough a modal for it exists)
(no real commit/merging/branching strategie was appied in the codebase)
new Versions had to be named manually
Naming collisions could be created
Some versions were named e.g. milan_fix others had a number 0.1.7
although the version number implies semantic versioning it was never proper semantic versioning
the upload to the update server was kind of hacky
Http request from Github Action to custom endpoint at update server with custom private key
no possibility to mark versions as development or auto enable update for all non development devices
A new implementation needs the following parts:
Automatic tests
Compile test
Testing of all C++ only functions with PlatformIO Unit Testing Tool
Run clang formatter with c++ style set in coding standards
For seamless development and testing the developer should not have to care about anything apart from the codebase itself. This means that Pipelines for build and deploy processes have to be set up. In the past this was already possible but since the Winder Codebase is split up into
HardwareLibrary
andWinder
the build fails.Also the implementation had some flaws:
milan_fix
others had a number0.1.7
A new implementation needs the following parts:
HardwareLibrary
andWinder
into onefirmware.bin
fileUPDATE_QITECH_DE
secret?