Skip to content

ci: validate foundry.yaml on PRs via ailloy foundry temper - #5

Open
kriscoleman wants to merge 1 commit into
mainfrom
kriscoleman/add-validate-workflow
Open

kriscoleman wants to merge 1 commit into
mainfrom
kriscoleman/add-validate-workflow

Conversation

@kriscoleman

Copy link
Copy Markdown
Contributor

Summary

Adds a GitHub Actions workflow that runs ailloy foundry temper foundry.yaml on every PR touching the index. Catches broken mold sources, schema regressions, and unreachable nested foundries before a maintainer needs to look.

What it does

  • Triggers: PRs touching foundry.yaml or the workflow itself, pushes to main (backstop), and workflow_dispatch (manual re-run).
  • Steps: checkout → install latest ailloy via the official install script → ailloy foundry temper foundry.yaml.
  • Permissions: contents: read only — no write scope, no token surface beyond a default checkout.

What temper checks

(See nimble-giant/ailloy#163 for full detail.)

  • Schema (apiVersion, kind, name, every mold's name/source, every nested foundry's source)
  • Each direct mold's source resolves on its remote (via git ls-remote, no clone)
  • Each nested foundry resolves and is itself valid, recursively, with cycle protection

Findings include the array index, name, and underlying cause for each broken entry.

Why now

PR #4 (kriscoleman/use-nested-replicated-foundry) just landed the first nested-foundry entry in this index. Adding CI here means future contributor PRs — whether they add a mold, bump a version, or contribute another nested foundry — get the same automated check.

Test plan

  • Confirm this PR's own check runs and passes (the workflow validates the current foundry.yaml)
  • Open a deliberately broken follow-up (typo'd source URL) and confirm the check fails with the per-entry finding
  • Confirm workflow_dispatch is selectable from the Actions tab after merge

Adds a GitHub Actions workflow that installs the latest ailloy and runs
`ailloy foundry temper foundry.yaml` whenever a PR touches the index
(or the workflow itself), and on every push to main as a backstop.

The temper command (added in nimble-giant/ailloy#163) checks schema,
verifies every direct mold's source resolves on its remote, and
recursively validates every nested foundry. Failures fail the check
with the array index, mold name, and underlying cause — so contributor
PRs surface broken sources before a maintainer needs to look.
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