arminjo/Test compile for Arduino

Compile sketches or Arduino library examples for one board type using arduino-cli and check for errors.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Maintainedlast commit Sep 24, 2025
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: arminjo/arduino-test-compile@d02d365b1776367122ba4c9bbfe333dbc94b2722 # v3

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
cli-versionVersion of arduino-cli to use when building. Current (9/2025) one is 1.3.1.nolatest
sketch-namesComma sepatated list of patterns or filenames (without path, but with extension) of the sketch(es) to test compile. Useful if the sketch is a *.cpp or *.c file or only one sketch in the repository should be compiled.no*.ino
sketch-names-find-startThe start directory to look for the sketch-names to test compile. Can be a path like "digistump-avr/libraries/*/examples/C*/".no.
arduino-board-fqbnFully Qualified Board Name of the Arduino board. You may add a suffix behind the fqbn with "|" to specify one board for e.g. different compile options like arduino:avr:uno|trace.noarduino:avr:uno
arduino-platformComma separated list of platform specifiers, if you require a fixed version like "arduino:avr@1.8.2" or do not want the specifier derived from the 2 first elements of the arduino-board-fqbn or need more than one core. The suffix "@latest" is always removed.no""
platform-default-urlThe platform URL for the required board description if arduino-board-fqbn does not start with "arduino:" and not explicitly specified by platform-url.no""
platform-urlThe platform URL for the required board description if arduino-board-fqbn does not start with "arduino:".no""
required-librariesComma separated list of arduino library names required for compiling the sketches / examples for this board. Add version number by e.g. @1.2.0.no""
sketches-excludeComma or space separated list of complete names of all sketches / examples to be excluded in the build for this board.no""
build-propertiesBuild parameter like -DDEBUG for each example specified or for all examples, if example name is "All". In json format. For example: build-properties: '{ "WhistleSwitch": "-DDEBUG -DFREQUENCY_RANGE_LOW", "SimpleFrequencyDetector": "-DINFO" }'. no""
extra-arduino-cli-argsThis string is passed verbatim without double quotes to the arduino-cli compile commandline as last argument before the filename. See https://arduino.github.io/arduino-cli/commands/arduino-cli_compile/ for compile parameters. no""
extra-arduino-lib-install-argsThis string is passed verbatim without double quotes to the arduino-cli lib install commandline as last argument before the library names. It can be used e.g. to suppress dependency resolving for libraries by using --no-deps as argument string. no""
set-build-pathFlag to set the build directory (arduino-cli paramer --build-path) to /build subdirectory of compiled sketches. But anyway, the build binaries are always available in the newly generated "build/<fqbn>" directory of the sketch. They are logged if debug-compile is set to "true". nofalse
debug-compileIf set to "true" the action logs verbose compile output even during successful builds.no""
debug-installIf set to "true" the action logs verbose arduino-cli output during installation.no""

no outputs