This project uses three GitHub Actions workflows. Together they check project code, Arduino examples, and generated documentation.
They provide a common environment for all developers.
.github/workflows/ci-host-tests.yml.github/workflows/ci-arduino-build.yml.github/workflows/ci-docs.yml| Workflow | Purpose | Runs when |
|---|---|---|
Host Tests |
Build and run host test executable (testAll) with CMake |
Someone opens a PR, pushes code, or runs it manually |
Arduino Firmware Build |
Compile all sketches in examples/ for Arduino Uno |
A PR or push changes Arduino-related files, or someone runs it manually |
Docs |
Generate Doxygen HTML docs, build all markdown files via Jekyll, and deploy to Github Pages for this library. | A PR or push changes docs/source/config files, or someone runs it manually |
File: .github/workflows/ci-host-tests.yml
Main steps:
cmake -S . -B build)testAll./build/testAllThis workflow makes sure:
When this runs:
File: .github/workflows/ci-arduino-build.yml
Main steps:
arduino:avr coreexamples/* directories and compile detected .ino sketches for arduino:avr:unoThis workflow makes sure:
When this runs automatically:
examples/**src/**library.properties.github/workflows/ci-arduino-build.ymlManual runs are always possible via workflow_dispatch.
File: .github/workflows/docs.yml
Main steps:
doxygen and graphvizDoxygen.Sketch.confDoxygen.Library.confhtml.sketchhtml.libraryThis workflow makes sure:
When this runs automatically:
docs/**src/**Doxygen.*.conf.github/workflows/docs.ymlHost Tests, Arduino Firmware Build, or Docs)Docs, download artifacts (html-sketch, html-library) from the run summaryBefore opening a PR, do a quick check:
This keeps the review focused on your changes, not avoidable CI failures.