arminjo/Test compile for Arduino
Compile sketches or Arduino library examples for one board type using arduino-cli and check for errors.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Maintainedlast commit Sep 24, 2025
- License
- MIT
Pinned Snippet
uses: arminjo/arduino-test-compile@d02d365b1776367122ba4c9bbfe333dbc94b2722 # v3tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| cli-version | Version of arduino-cli to use when building. Current (9/2025) one is 1.3.1. | no | latest |
| sketch-names | Comma 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-start | The start directory to look for the sketch-names to test compile. Can be a path like "digistump-avr/libraries/*/examples/C*/". | no | . |
| arduino-board-fqbn | Fully 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. | no | arduino:avr:uno |
| arduino-platform | Comma 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-url | The 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-url | The platform URL for the required board description if arduino-board-fqbn does not start with "arduino:". | no | "" |
| required-libraries | Comma 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-exclude | Comma or space separated list of complete names of all sketches / examples to be excluded in the build for this board. | no | "" |
| build-properties | Build 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-args | This 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-args | This 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-path | Flag 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". | no | false |
| debug-compile | If set to "true" the action logs verbose compile output even during successful builds. | no | "" |
| debug-install | If set to "true" the action logs verbose arduino-cli output during installation. | no | "" |
Outputs
no outputs