4ce7f86d4d
- `glint explain <RULE>`: new subcommand printing rule description, rationale, bad-YAML example and fix for every GL001–GL043 rule. `glint explain` (no arg) lists all rules with ID, severity, title. Rule IDs are case-insensitive. - GL042 (rules:if: evaluated reachability): warns when every rules:if: condition evaluates to false given the values of variables declared in the pipeline YAML, making the job statically unreachable. Conservative: only fires when all referenced variables are declared in YAML; predefined CI_* / GITLAB_* variables are skipped to avoid false positives. - GL043 (inherit: completeness): warns when inherit: default: is declared but there is no default: block in the pipeline (dead declaration), or when the list form names fields not set in the default: block. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
27 lines
559 B
YAML
27 lines
559 B
YAML
stages:
|
|
- build
|
|
- test
|
|
|
|
# No default: block — any inherit: default: declaration is a no-op.
|
|
|
|
# GL043: inherit: default: false but no default: block.
|
|
isolated-job:
|
|
stage: build
|
|
inherit:
|
|
default: false
|
|
script: echo isolated
|
|
|
|
# GL043: inherit: default: [list] but no default: block.
|
|
selective-inherit-job:
|
|
stage: test
|
|
inherit:
|
|
default: [image, tags]
|
|
script: echo selective
|
|
|
|
# Not GL043: inherit only touches variables: (no default: check needed).
|
|
vars-inherit-job:
|
|
stage: test
|
|
inherit:
|
|
variables: false
|
|
script: echo vars-only
|