Skip to content

CI builds#52

Merged
JoelHer merged 8 commits intomainfrom
ci-build-test
Apr 16, 2026
Merged

CI builds#52
JoelHer merged 8 commits intomainfrom
ci-build-test

Conversation

@JoelHer
Copy link
Copy Markdown
Member

@JoelHer JoelHer commented Apr 15, 2026

This pull request introduces a new CI workflow for building both the frontend and firmware, and refactors the build system to better support prebuilt frontend assets and CI integration. The changes make it easier to supply prebuilt web UI files for firmware builds (critical for CI and reproducibility), while still allowing local builds to generate the UI automatically. Unnecessary complexity and redundant build steps have been removed from the CMake configuration.

CI/CD and Build System Integration:

  • Added a new GitHub Actions workflow (.github/workflows/esp-build.yml) to build frontend assets with Node.js, collect them as artifacts, and use them in the firmware build, supporting both push and pull request events.
  • Refactored the CMake build system (CMakeLists.txt, components/vigilant_engine/CMakeLists.txt, main/CMakeLists.txt) to allow firmware builds to consume prebuilt frontend assets via the VE_VIGILANT_HTML variable, and to control frontend auto-building with the VE_BUILD_WEB option. [1] [2] [3] [4]

Frontend Build Logic Improvements:

  • The firmware build now checks for a supplied prebuilt vigilant.html file and uses it if available; otherwise, it builds the frontend automatically if allowed, with improved error handling and messaging for missing dependencies or files. [1] [2]

Configuration Defaults:

  • Updated sdkconfig.defaults to set the flash size to 4MB by default, which is needed with the size of this project.

@tillx4 or @Kampfdackel5 Please review

@JoelHer JoelHer requested review from Kampfdackel5 and tillx4 April 15, 2026 09:11
@JoelHer JoelHer added the enhancement New feature or request label Apr 15, 2026
Copy link
Copy Markdown
Contributor

@Kampfdackel5 Kampfdackel5 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See my comments. Regarding the pipeline: if it works it works!

Comment thread components/vigilant_engine/CMakeLists.txt
Comment thread sdkconfig.defaults
@JoelHer
Copy link
Copy Markdown
Member Author

JoelHer commented Apr 15, 2026

What about you @tillx4, what do you think?

@tillx4
Copy link
Copy Markdown
Contributor

tillx4 commented Apr 16, 2026

What about you @tillx4, what do you think?

I have no experience with CI, so I would agree, if it works it works, we can adjust stuff later on.

A bit sad that cashing for ESP-IDF isn't working as it needs about 5m to install (says so in the checks for this PR at least). But that's something we should do later on, if the core functionality is ensured.

merge 🫡

@JoelHer
Copy link
Copy Markdown
Member Author

JoelHer commented Apr 16, 2026

Yes, sadly I couldn't get caching to work, maybe we find a solution for this in the future. Therefore, the CI will only run on the main branch and for PRs to main.

@JoelHer JoelHer marked this pull request as ready for review April 16, 2026 09:57
@JoelHer JoelHer merged commit 855bec1 into main Apr 16, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants