This is a project template to create microcontroller apps with automatized firmware builds for esp32, esp32s2 and esp32s3 microcontroller boards. It uses for that GitHub Actions and platformio.
The release build happens in the build & release
workflow: build_release.yml.
It creates a release, after creation of a new git tag (named it like v1.0.0
).
If you want to test the build on all merge w/o creating a tag then the build
workflow is what you looking for: build.yml
PlatformIO is a tool to create microcontroller apps for arduino platforms and compatibles (esp32). You can install the Visual Studio Code extension in the Visual Studio Code IDE.
There is a tiny python script needed to customize the firmware filenames within platformio, see documentation: https://docs.platformio.org/en/stable/scripting/examples/custom_program_name.html
The extra_script.py script gets the platformio env (e.g. lolin32) and the git-tag for the firmware filename. This is required to publish several firmware names in the github artifacts of a release.
You can write your changes in the CHANGELOG.md before you create a release. It will be shown under the release page.
see Releases on the right sidemenu.
Use this repository as a template for your own esp32 repository. You can reduce and adapt your required boards in the platformio.ini. Update the CHANGELOG.md file before you are creating a new release. When you create a new git tag then a new release will always includes generated firmwares.
Contribution and help ... if you find an issue or wants to contribute then please do not hesitate to create a merge request or an issue.
We provide our build template as is, and we make no promises or guarantees about this code.