From 449b81b2b40cdaec3872b4e4287931310ce30743 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matheus=20Bregu=C3=AAz?= Date: Mon, 12 Oct 2026 14:13:44 -0300 Subject: [PATCH 1/2] ci(docs): scope syntax and link checks with inputs Catalogs hold implementation code (JSONC, BOMs, custom YAML tags) that is valid in its own ecosystem; they pass their docs paths instead. Co-Authored-By: Claude Opus 5.5 (1M context) --- .github/workflows/docs-ci.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docs-ci.yml b/.github/workflows/docs-ci.yml index d3f4447..bb17382 100644 --- a/.github/workflows/docs-ci.yml +++ b/.github/workflows/docs-ci.yml @@ -12,6 +12,14 @@ on: description: Fail when AGENTS.md is missing type: boolean default: true + syntax-roots: + description: Space-separated paths whose JSON/YAML files must parse (catalogs pass their docs paths, not implementation code) + type: string + default: "." + link-globs: + description: Space-separated globs of Markdown files whose relative links are checked + type: string + default: "./**/*.md" permissions: contents: read @@ -27,6 +35,7 @@ jobs: - name: Check repository structure env: REQUIRE_AGENTS_MD: ${{ inputs.require-agents-md }} + SYNTAX_ROOTS: ${{ inputs.syntax-roots }} run: | python3 - <<'PY' import json, os, re, sys @@ -62,7 +71,8 @@ jobs: errors.append(f"{path}: missing '## Status' section") # Every JSON and YAML file must parse. - for root, dirs, files in os.walk("."): + roots = [r for r in os.environ.get("SYNTAX_ROOTS", ".").split() if os.path.exists(r)] + for root, dirs, files in (w for r in roots for w in os.walk(r)): dirs[:] = [d for d in dirs if d not in (".git", "node_modules")] for f in files: path = os.path.join(root, f) @@ -87,5 +97,5 @@ jobs: - uses: actions/checkout@v4 - uses: lycheeverse/lychee-action@v2 with: - args: --offline --no-progress './**/*.md' + args: --offline --no-progress ${{ inputs.link-globs }} fail: true From d01a26789b59e1bef7b2321cdcc2796daf28155e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matheus=20Bregu=C3=AAz?= Date: Mon, 12 Oct 2026 14:14:00 -0300 Subject: [PATCH 2/2] ci(docs): quote the default link glob Co-Authored-By: Claude Opus 5.5 (1M context) --- .github/workflows/docs-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docs-ci.yml b/.github/workflows/docs-ci.yml index bb17382..e662e8d 100644 --- a/.github/workflows/docs-ci.yml +++ b/.github/workflows/docs-ci.yml @@ -17,9 +17,9 @@ on: type: string default: "." link-globs: - description: Space-separated globs of Markdown files whose relative links are checked + description: Space-separated, single-quoted globs of Markdown files whose relative links are checked type: string - default: "./**/*.md" + default: "'./**/*.md'" permissions: contents: read