You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# action.ymlrendered-file:
description: >- mode: render only, and required there: the path the rendered settings document is written to (parent directories are created). The file holds exactly what apply would run: every section validated, each section that takes an undeclared policy in its policy-wrapper form with the policy made explicit, the other sections in their own shape, and the _layering directives dropped. Feed it to a later apply or check step as its settings-file. Must not name one of the settings-file layers (the render would overwrite it). Fails when set in apply or check.
After
# action.ymlrendered-file:
description: >- mode: render only, and required there: the path the rendered settings document is written to.
# .github/actions/setup/action.ymldescription: | Installs the pinned bun and, unless told not to, the locked dependencies. The bun version is the one .bun-version pins. The install runs bun install --frozen-lockfile --ignore-scripts, so the lockfile never changes and the prepare script (lefthook, a git hook no runner uses) never runs. The caller keeps its own checkout and setup-node steps, whose options differ per job.
How
Composite actions take the fleet shape: one orienting sentence, one fact per paragraph, one-sentence inputs and outputs, no workflow expression in any description.
Root inputs and outputs drop to one sentence each in the declarations that generate action.yml and the inputs table.
Dropped detail lives on the operate and reference pages that already owned it. The inputs reference and the multi-repo guide gain the few facts that had no page.
CLI help reuses the declarations, so the clause-removal code shrinks to the one clause still needed plus the repository rewording.
List inputs say comma- or newline-separated, matching the splitter; the inputs reference no longer claims every row names its scope.
Root description stays one line: GitHub Marketplace caps it at 125 characters.
Proof
Tests: 114 green across the seven suites the change touches.
Gates: biome, tsc, and the docs probe clean; the cross-model review converged.
Technical details
Line accounting: source +68 -195, tests +7 -16, docs +34 -30, composite actions +21 -14; the generated root action.yml (+54 -163) is left out.
Why source rows on a docs change: the descriptions are TypeScript declarations in src/flows/inputs.ts and src/action/io.ts, and the CLI clause code followed the shortened text.
Reviewer note (Copilot): the root action.yml inputs and outputs blocks and the table in docs/reference/inputs.md are generated by bun run build:action-docs and bun run build:inputs-table; edit the declarations, never the output.
Deleted test: the init sections-flag clause test, since the clause it pinned no longer exists; declared( clause census in src/cli/inputs.ts: 6 before, 2 after.
Refused: reshaping the root description into the block form. The Marketplace cap; the changelog's "shorter description" commit shortened it for the same reason.
…ite action descriptions
Every composite action this repository owns takes the fleet's description shape: a literal block opening with one orienting sentence, then one fact per short paragraph, and one-sentence input and output descriptions with no workflow expression inside any of them.
The root action keeps its one-line description, since GitHub Marketplace caps a published action's description at 125 characters. Its 25 inputs and 3 outputs drop to one sentence each in the declarations action.yml is generated from. The detail they carried lives on the operate and reference pages that already owned it; the few facts with no page gained one on the inputs reference and the multi-repo guide.
The CLI reuses the declarations as flag help, so the clause-removal machinery shrinks to the one clause still needed (the artifact channel the command line cannot upload) plus the repository default rewording.
…ly rows name a scope
The sections, required-sections, and affiliation descriptions said comma-separated while every list input splits on newlines as well. The inputs reference no longer claims every row names its scope: the mode-only rows do, and the render and snapshot tables list the rest.
The repository-flag help test pins the whole help string per subcommand instead of substrings of it.
Redacted private targets do not use owner/name keys
src/action/io.ts:20
This says every key is an owner/name, but redacted private targets use placeholders. With private-repos: redact, a private o/r target produces {"private repository #1": {...}}, not an o/r key.
Central settings file overrides per-repository settings
src/flows/inputs.ts:139
This says every repos target uses its own settings file, but a central file overrides it. For repos: o/r with repos-dir containing o/r.yml, the central file wins and the remote .github/settings.yml is ignored.
Redaction does not hide the current private repository
src/flows/inputs.ts:170
This says redact hides private targets, but the current repository is never hidden. For a private target equal to GITHUB_REPOSITORY, private-repos: redact leaves its slug visible in logs and outputs.
Healthy targets may produce no report delivery
src/flows/inputs.ts:176
This promises a full report for each proven-private target, but issue-on-failure deliberately sends nothing for a healthy target with no open report issue. In that case the delivery result is nothing to deliver, not a full report.
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
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.
Before
After
How
Proof
Technical details
src/flows/inputs.tsandsrc/action/io.ts, and the CLI clause code followed the shortened text.docs/reference/inputs.mdare generated bybun run build:action-docsandbun run build:inputs-table; edit the declarations, never the output.declared(clause census insrc/cli/inputs.ts: 6 before, 2 after..github/actions/{setup,site-build}/action.yml,action.yml,src/{flows/inputs.ts,action/io.ts,cli/inputs.ts},test/cli/inputs.test.ts,docs/{reference/inputs.md,operate/multi-repo.md}.