GitHub Actions action that uses Arduino Lint to check for problems with Arduino projects:
- Libraries
- Sketches
- Boards platforms
- Boards Manager package indexes
Path containing Arduino project(s).
Default: ./
The version of Arduino Lint to use.
Can be an exact version (e.g., 1.0.0
) or a version range (e.g., 1.x
).
Default: 1.x
Configure how strict the tool is about which checks are considered errors vs warnings if they don't pass.
strict
- enforces best practices, above and beyond the minimum requirements for specification compliance. Use this setting to ensure the best experience for the users of the project.specification
- enforces compliance with the official Arduino project specifications.permissive
- will cause the checks to fail only when severe problems are found. Although a project that passes at the permissive setting will work with the current Arduino development software versions, it may not be fully specification-compliant, risking incompatibility or a poor experience for the users.
Default: specification
Configure the checks for libraries in the Arduino Library Manager index.
submit
- Also run additional checks required to pass before a library is accepted for inclusion in the index.update
- Also run additional checks required to pass before new releases of a library already in the index are accepted.false
- Don't run any Library Manager-specific checks.
Default: submit
for libraries, false
for other project types
Configures which types of projects to check, along with their subprojects.
sketch
library
platform
- boards platformpackage-index
- Boards Manager package indexall
- Run checks on any type of project that is detected
Default: all
Set to true
to search path recursively for Arduino projects to check.
Default: false
Save a JSON formatted report on the checks to this file.
Set to true
to show more information in the log about the checks being run.
Default: false
GitHub access token used to get information from the GitHub API.
Default: GITHUB_TOKEN
The minimal workflow to run the default checks on the projects in the repository:
on: [push, pull_request]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: arduino/arduino-lint-action@v2
A more complex workflow which uses inputs to configure the action for Library Manager "update" mode and strict compliance:
on: [push, pull_request]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: arduino/arduino-lint-action@v2
with:
library-manager: update
compliance: strict
To report bugs or make feature requests, please submit an issue: https://github.com/arduino/arduino-lint-action/issues
Pull requests are welcome! Please see the contribution guidelines for information.