Skip to content

validate-task.yml's markdownlint glob has no per-repo exclusion point, breaking repos that vendor/import content #924

Description

@ptr727

Found while resyncing Blog (ptr727/Blog) against the hub, following RESYNC.md's "Adopting the Gates" section.

The gap

The hub-hosted .github/workflows/validate-task.yml lint job hardcodes the markdownlint step:

- name: Lint Markdown step
  uses: DavidAnson/markdownlint-cli2-action@21c1be1b93ad9ed58fa840aacc3f279cde2a72ff # v24.2.0
  with:
    globs: '**/*.md'

There is no workflow_call input to narrow or exclude paths from this glob, and .markdownlint-cli2.jsonc is declared "fidelity": "verbatim", "whole": true in spec/files.json, so a downstream repo cannot customize it locally either. The only mitigation the shared config offers is "gitignore": true, which excludes gitignored paths, not tracked-but-not-authored-here paths.

Where this actually bites

Blog vendors the PaperMod theme under themes/PaperMod/ and carries an imported WordPress content archive under content/**, both git-tracked (not gitignored). Blog's current (pre-migration) validate-task.yml deliberately excludes both from its markdownlint step:

globs: |
  **/*.md
  !content/**
  !themes/*/**
  !public/**

Adopting the hub's validate-task.yml as documented would start linting several hundred WordPress-imported posts and the entire vendored theme tree (issue templates, docs, etc.) that Blog does not author and has no way to keep clean, breaking the PR gate rather than improving it.

Ask

Some way for a caller to narrow the markdownlint glob without touching .markdownlint-cli2.jsonc - a workflow_call input (e.g. markdown_exclude_globs) forwarded into the action's globs: list, or an equivalent mechanism (a .markdownlintignore convention the action already supports, if that composes with gitignore: true cleanly). Blog's test-pull-request.yml/validate-task.yml migration ("Adopting the Gates") is on hold pending this.

Filed per RESYNC.md section 2's "File defects in the hub" guidance; audit run stamp: audit run 2026-08-22T21:56:31Z | hub d5605f5.

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions