VLCB-Arduino

GitHub Workflows Quick Tutorial

This project uses three GitHub Actions workflows. Together they check project code, Arduino examples, and generated documentation.

Why these workflows exist

They provide a common environment for all developers.

Where to find them

At a glance

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

Learn more about GitHub Actions

1) Host Tests workflow

File: .github/workflows/ci-host-tests.yml

Main steps:

  1. Check out the repository
  2. Configure CMake (cmake -S . -B build)
  3. Build testAll
  4. Run ./build/testAll

This workflow makes sure:

When this runs:

2) Arduino Firmware Build workflow

File: .github/workflows/ci-arduino-build.yml

Main steps:

  1. Check out the repository
  2. Install Arduino CLI
  3. Install arduino:avr core
  4. Loop over all examples/* directories and compile detected .ino sketches for arduino:avr:uno

This workflow makes sure:

When this runs automatically:

Manual runs are always possible via workflow_dispatch.

3) Docs workflow

File: .github/workflows/docs.yml

Main steps:

  1. Check out the repository
  2. Install doxygen and graphviz
  3. Generate docs with:
    • Doxygen.Sketch.conf
    • Doxygen.Library.conf
  4. Upload artifacts:
    • html.sketch
    • html.library

This workflow makes sure:

When this runs automatically:

How to run a workflow manually

  1. Open the repository on GitHub
  2. Go to Actions
  3. Select workflow (Host Tests, Arduino Firmware Build, or Docs)
  4. Click Run workflow
  5. Choose branch and run

How to inspect outputs

Before you open a PR

Before opening a PR, do a quick check:

This keeps the review focused on your changes, not avoidable CI failures.