Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/agent-guides/catalogue.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,10 @@ repository's own `validate-manifests` job, all behind the single `CI - Required
catalogue's documentation is the root [README](../../README.md); each
action also has its own README.

Keep the Actions and Reusable workflows indexes parallel: a component reference and its purpose.
Keep the Actions and Reusable workflows indexes parallel: reference, purpose and executable source,
each inside one `Browse available interfaces` collapsible. Action references own their per-action
READMEs; workflow references have stable explicit anchors in the root README. Do not copy their
interface tables into the indexes.
List organization-required compatibility sources and internal projections/fixtures separately;
neither is an invitation to add a new consumer. Each workflow's existing level-three reference
owns one `Purpose, interface and usage` collapsible, closed before the next peer heading. Keep
Expand Down
3 changes: 2 additions & 1 deletion .github/agent-guides/validation.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,5 +70,6 @@ outputs. Keep the native usable-source assertions and
`.github/tests/test-retired-repo-links-source.sh` passing when changing this boundary.
Configuration belongs to each consumer; never hard-code retired portfolio names
or blanket historical exemptions in the action. Exceptions require an exact
file, repository and reason. Consumer adoption and flag retirement are in devantler-tech/actions#1350.
file, repository and reason. Consumer adoption and flag retirement are in
[#269](https://github.com/devantler-tech/.github/issues/269).

30 changes: 30 additions & 0 deletions .github/tests/test-workflow-readme-parity.sh
Original file line number Diff line number Diff line change
Expand Up @@ -228,4 +228,34 @@ expect 'repository missing-row ablation' 1 "validate-go-project.yaml: input 'tes
exit 1
}

# GitHub preserves name-based custom anchors, not author-supplied id attributes.
# Exercise the actual catalogue navigation independently of input-table parity.
navigation() {
local document=$1 anchor count
for anchor in create-release dependency-review enable-auto-merge lint publish-app \
publish-manifests scan-todos scan-workflows template-sync update-agent-skills validate-go \
repository-admission deploy-guards world-regressions applied-fixes todos-readonly \
todos-fixture go-readonly inspect-recovery publish-recovery recovery-fixture; do
count=$(grep -Fc "<a name=\"workflow-$anchor\"></a>" "$document" || true)
[[ $count == 1 ]] || return 1
grep -Fq "(#workflow-$anchor)" "$document" || return 1
done
! grep -Eq '<a id="workflow-' "$document"
}
cp "$source_root/README.md" "$tmp/navigation.md"
navigation "$tmp/navigation.md" || { echo 'FAIL: catalogue reference navigation'; exit 1; }
cases=$((cases + 1))
sed 's/<a name="workflow-/<a id="workflow-/' "$tmp/navigation.md" > "$tmp/id-anchors.md"
if navigation "$tmp/id-anchors.md"; then
echo 'FAIL: unsupported custom-anchor attributes accepted'
exit 1
fi
cases=$((cases + 1))
sed '/^<a name="workflow-dependency-review"><\/a>$/d' "$tmp/navigation.md" > "$tmp/missing-anchor.md"
if navigation "$tmp/missing-anchor.md"; then
echo 'FAIL: missing required-workflow reference anchor accepted'
exit 1
fi
cases=$((cases + 1))

echo "Workflow README parity: $cases behavioral cases passed."
Loading
Loading