Skip to content

gha memories: lint-markdown's fail: false does not cover its three companion checks #2503

Description

@d-morrison

memories/gha-reusable-workflows.md records several consumer-side gotchas but
not this one, which cost a review round tonight.

lint-markdown.yml's fail input gates markdownlint only. The composite also
runs a list-item merge-splice check, a fenced-code-block length check, and a
GFM table-split check, gated by fail-on-item-splices,
fail-on-long-code-blocks, and fail-on-table-splits respectively --- each
defaulting to true.

So a caller written fail: false, to adopt the workflow warn-only while a
pre-existing backlog is worked down, still fails the build.

The reason it costs a round rather than a minute is that the evidence reads as
a contradiction: the caller says warn-only, the check is red, and the natural
hypotheses are a wrong pin or an ignored input. Both are wrong. A different
check inside the same job failed, and the job's conclusion comes from whichever
step failed --- which is the same shape fully-clean.md already describes for a
green guard step beside a red job.

lint-yaml.yml has the same split: fail gates yamllint, fail-on-long-scripts
gates its companion.

Measured on UCD-SERG/shigella#37. Its lint-markdown caller was added at
fail: false in UCD-SERG/shigella#33 and went red on six list-item splices.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions