Skip to content

action: a manifest GitHub can actually parse - #35

Merged
Na5co merged 1 commit into
mainfrom
claude/action-manifest
Sep 22, 2026
Merged

Na5co merged 1 commit into
mainfrom
claude/action-manifest

Conversation

@Na5co

@Na5co Na5co commented Sep 22, 2026

Copy link
Copy Markdown
Owner

Pointing the Action at a real pull request (the first time anything ever loaded its manifest) produced this, before polygo ran at all:

##[error]Na5co/polygo/v0/action/action.yml: (Line: 26, Col: 63) - Mapping values are not allowed in this context.
##[error]Failed to load Na5co/polygo/v0/action/action.yml

Line 26 was an input description holding an unquoted (default: all targets in polygo.toml). YAML reads : in a plain scalar as a mapping, so the whole manifest failed to load — every workflow using Na5co/polygo/action@v0 failed at "Set up job". It predates the review work; nothing ever loaded the file, because tests/action.rs runs the scripts and polygo's own CI has no use for the Action.

One character class of fix, two guards so it cannot come back:

  • action_manifest_is_loadable_yaml lints every plain scalar in the manifest for the same trap. Verified against the broken file: it fails, naming line 26.
  • a CI job that uses the Action (uses: ./action) on a fixture with a translated placeholder name, asserting the step fails and reports exactly one error. That loads the manifest and runs check.sh for real, which the unit tests cannot do.

tests/release_layout.rs asserts that job stays in CI.🤖 Generated with Claude Code

Every workflow using Na5co/polygo/action@v0 failed at "Set up job" with a
YAML error before polygo ran: an input description held an unquoted
`(default: all targets in polygo.toml)`, and YAML reads `: ` in a plain
scalar as a mapping. Nothing loaded the manifest — the tests run the scripts,
and polygo's own CI has no use for the Action — so it went unnoticed.

Found by pointing the Action at a real pull request.

Two guards: a test that lints every plain scalar in the manifest for the same
trap (it fails on the exact line that shipped), and a CI job that uses the
Action from the checkout on a fixture with a broken placeholder and asserts
it fails with one error.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Na5co
Na5co merged commit 1f86eb0 into main Sep 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant