docs: generate action and workflow input/output tables - #2276
Draft
ricky-undeadcoders wants to merge 1 commit into
Draft
docs: generate action and workflow input/output tables#2276ricky-undeadcoders wants to merge 1 commit into
ricky-undeadcoders wants to merge 1 commit into
Conversation
ricky-undeadcoders
marked this pull request as draft
August 27, 2026 04:21
Regenerates the Inputs/Outputs tables in every action README and reusable workflow doc from the YAML that declares them, and adds a CI job that fails when they drift. Required and Default now come from the YAML rather than prose, which caught several stale values: cleanup-branches documented dry-run as defaulting to true when it is false, validate-policy-bot-config pointed at a dead endpoint, and go-flaky-tests listed three outputs it never declares. A few descriptions were corrected or enriched where the old tables carried detail the YAML lacked, including image-digests, which was described as CSV but is emitted one per line.
ricky-undeadcoders
force-pushed
the
rwhitaker/generated-action-docs
branch
from
August 27, 2026 04:27
b3c3c17 to
a3ef5c1
Compare
This was referenced Aug 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Regenerates the Inputs/Outputs tables in every action README and reusable workflow doc from the YAML that declares them, and adds a CI job that fails when they drift.
Stacked on #1454 — that PR adds the generator, this one is its output plus the enforcement. Merge #1454 first.
Titled
docs:deliberately: this touches 37 action READMEs, and every action is its own release-please package. Afeat:here would minor-bump all 38 for a documentation change.What this catches
The tables now carry
RequiredandDefaultgenerated from the YAML rather than from prose. That immediately surfaced docs that had drifted from their actions:cleanup-branchesdry-rundefaults totruefalse— the docs implied a no-op by default, for an action that deletes branchesvalidate-policy-bot-configpolicy-bot.grafana.net/api/v1/validategithub-policy-bot.grafana-ops.net/api/validatereusable-zizmormin-severityismediumlowdocker-build-push-multiarchrunner_archesrunner-archesgo-flaky-teststrigger-argo-workflowworkflow_template"defaults tografana-ci"21 of 38 actions had drifted. Around 20 previously undocumented inputs/outputs are now covered, and
check-drone-signaturegained a doc it never had.How it works
Generated tables live between
<!-- BEGIN_INPUTS -->/<!-- END_INPUTS -->markers. Only the text between markers is replaced, so hand-written prose, footnotes and markdownlint pragmas survive regeneration.To update after changing an action's YAML:
CI runs the same thing and fails on any diff.
Source YAML changes
A handful of descriptions were corrected or enriched, because the YAML is now the source of truth and the old hand-written tables carried detail it lacked:
docker-import-digests-push-manifest:image-digestswas described as a CSV list. It is emitted one per line — thejqataction.yaml:231produces"\(.tag)@\(.indexDigest)"per entry as a multiline output. Corrected, and the gating onpush/generate-summarydocumented.trigger-argo-workflow: removed the false "defaults tografana-ci" claim, and fixed an unbalanced quote inextra_args.socket-export-sbom: recorded thefull-scans:createandreport:readscopes the token needs.run-capslock,generate-openapi-clients,find-pr-for-commit,push-to-gcs,wait-for-docker-publish,get-latest-workflow-artifact,aws-auth,dependabot-auto-triage,reusable-zizmor: restored enum values, conditional-required nuance and other detail that existed only in the old README prose.Notes for review
git add -A && git diff --staged --exit-code. Plaingit diffwould miss a doc the generator had to create from scratch, since new files are untracked — and a brand-new action with no README is exactly the case worth catching. (check-catalog-info.yamlhas this bug today; separate issue to follow.)ubuntu-x64-small, matchingsign-and-attest.yml.<placeholder>text in descriptions is escaped, otherwise the renderer eats it as an HTML tag and<image>:<tag>@<digest>displays as:@.Part of #1466. Closes #137.