1
0
mirror of https://github.com/arduino/library-registry.git synced 2025-07-28 02:41:51 +03:00

Add CI workflow to lint YAML files

On every push and pull request that affects relevant files, run yamllint to check the YAML files of
the repository for issues.

The .yamllint.yml file is used to configure yamllint:
https://yamllint.readthedocs.io/en/stable/configuration.html
This commit is contained in:
per1234
2021-07-15 07:36:37 -07:00
parent 39bf4cdceb
commit 92cd60a753
6 changed files with 220 additions and 1 deletions

81
.github/workflows/check-yaml-task.yml vendored Normal file
View File

@ -0,0 +1,81 @@
# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/check-yaml-task.md
name: Check YAML
# See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows
on:
push:
paths:
- ".yamllint*"
- "poetry.lock"
- "pyproject.toml"
# Source: https://github.com/ikatyang/linguist-languages/blob/master/data/YAML.json (used by Prettier)
- "**/.clang-format"
- "**/.clang-tidy"
- "**/.gemrc"
- "**/glide.lock"
- "**.ya?ml*"
- "**.mir"
- "**.reek"
- "**.rviz"
- "**.sublime-syntax"
- "**.syntax"
pull_request:
paths:
- ".yamllint*"
- "poetry.lock"
- "pyproject.toml"
# Source: https://github.com/ikatyang/linguist-languages/blob/master/data/YAML.json (used by Prettier)
- "**/.clang-format"
- "**/.clang-tidy"
- "**/.gemrc"
- "**/glide.lock"
- "**.ya?ml*"
- "**.mir"
- "**.reek"
- "**.rviz"
- "**.sublime-syntax"
- "**.syntax"
workflow_dispatch:
repository_dispatch:
jobs:
check:
name: ${{ matrix.configuration.name }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
configuration:
- name: Generate problem matcher output
# yamllint's "github" output type produces annotated diffs, but is not useful to humans reading the log.
format: github
# The other matrix job is used to set the result, so this job is configured to always pass.
continue-on-error: true
- name: Check formatting
# yamllint's "colored" output type is most suitable for humans reading the log.
format: colored
continue-on-error: false
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install Python
uses: actions/setup-python@v2
with:
python-version: "3.9"
- name: Install Poetry
run: pip install poetry
- name: Install Task
uses: arduino/setup-task@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
version: 3.x
- name: Check YAML
continue-on-error: ${{ matrix.configuration.continue-on-error }}
run: task yaml:lint YAMLLINT_FORMAT=${{ matrix.configuration.format }}