GitHub Action for validating and building cryowire configurations in CI.
name: Validate
on: [push, pull_request]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: cryowire/action@v1This automatically finds all cooldown directories (containing metadata.yaml + control.yaml) and runs validate + build on each.
- uses: cryowire/action@v1
with:
command: validate- uses: cryowire/action@v1
with:
cooldown-dirs: your-cryo/2026/cd001 your-cryo/2026/cd002- uses: cryowire/action@v1
with:
command: diagram
- uses: actions/upload-artifact@v4
with:
name: diagrams
path: "**/wiring.svg"- uses: cryowire/action@v1
with:
cli-version: ">=0.1.0,<0.2.0"| Input | Default | Description |
|---|---|---|
command |
all |
validate, build, diagram, or all (validate + build) |
cooldown-dirs |
(auto-discover) | Space-separated cooldown directory paths |
diagram-output |
wiring.svg |
Output filename for diagram command |
cli-version |
(latest) | Version constraint for cryowire |
python-version |
3.11 |
Python version |
| Output | Description |
|---|---|
cooldown-dirs |
Newline-separated list of processed directories |
passed |
true if all commands succeeded |
- Sets up Python and installs
cryowirefrom PyPI - Discovers cooldown directories by searching for
metadata.yamlfiles (or uses explicit paths) - Runs the specified command(s) on each directory
- Reports results with exit code 0 (all passed) or 1 (any failed)
If you created your data repo from cryowire/template, add .github/workflows/ci.yml:
name: CI
on: [push, pull_request]
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: cryowire/action@v1This validates every cooldown on every push and pull request.