mirror of
https://github.com/agresdominik/ci-pipelines.git
synced 2026-07-21 21:20:54 +00:00
70 lines
1.9 KiB
YAML
70 lines
1.9 KiB
YAML
# Reusable YAML lint workflow
|
|
# Lives in your central workflows repo, e.g.:
|
|
# github.com/your-org/.github/.github/workflows/yaml-lint.yml
|
|
#
|
|
# Call it from any repo:
|
|
# uses: your-org/.github/.github/workflows/yaml-lint.yml@main
|
|
|
|
name: YAML Lint
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
paths:
|
|
description: >
|
|
Space-separated list of files/directories to lint.
|
|
Supports glob patterns (passed directly to yamllint).
|
|
type: string
|
|
default: "."
|
|
config-file:
|
|
description: >
|
|
Path to a .yamllint.yml config in the calling repo.
|
|
Ignored if config-data is set.
|
|
type: string
|
|
default: ".yamllint.yml"
|
|
config-data:
|
|
description: >
|
|
Inline yamllint config string. Takes precedence over config-file.
|
|
Example: "{extends: default, rules: {line-length: {max: 120}}}"
|
|
type: string
|
|
default: ""
|
|
strict:
|
|
description: "Treat warnings as errors (exit 1 on any warning)."
|
|
type: boolean
|
|
default: false
|
|
actionlint:
|
|
description: "Also run actionlint on .github/workflows/."
|
|
type: boolean
|
|
default: true
|
|
runner:
|
|
description: "Runner label."
|
|
type: string
|
|
default: "ubuntu-latest"
|
|
|
|
jobs:
|
|
yamllint:
|
|
name: yamllint
|
|
runs-on: ${{ inputs.runner }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: yamllint
|
|
uses: ibiqlik/action-yamllint@v3
|
|
with:
|
|
file_or_dir: ${{ inputs.paths }}
|
|
config_file: ${{ inputs.config-file }}
|
|
config_data: ${{ inputs.config-data }}
|
|
strict: ${{ inputs.strict }}
|
|
|
|
actionlint:
|
|
name: actionlint
|
|
runs-on: ${{ inputs.runner }}
|
|
if: ${{ inputs.actionlint }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: actionlint
|
|
uses: rhysd/actionlint@v1
|
|
with:
|
|
ignore: ""
|