docs(app-developer-guide): add the missing local manifest-validation step
The guide walked a developer from manifest to install but never told them how to validate the manifest locally first — despite scripts/validate-app-manifest.sh existing for exactly that. A developer's first signal that their manifest was wrong would have been an install failure on a node. Adds a "Validate Your Manifest" step at the top of Testing, pointing at the script (recently fixed — it had been rejecting every manifest because it shelled out to a missing ruby). Notes the strict behaviour a new submitter hits, e.g. an unpinned :latest tag is rejected, and that the Rust parser is canonical. Verified: the install RPC example in this guide (id + dockerImage) matches the handler; the cargo test target crate name (archipelago-container) is correct. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
8a341de4b5
commit
bcbd4a7032
@@ -341,6 +341,21 @@ cmp -s app-catalog/catalog.json neode-ui/public/catalog.json
|
||||
|
||||
## Testing Your App
|
||||
|
||||
### Validate Your Manifest
|
||||
|
||||
Before anything else, check your manifest against the schema and the app-submission
|
||||
rules:
|
||||
|
||||
```bash
|
||||
./scripts/validate-app-manifest.sh apps/my-app/manifest.yml
|
||||
```
|
||||
|
||||
It reports `STATUS: APPROVED` or `STATUS: REJECTED` with the specific failures —
|
||||
including the ones that block submission, such as an unpinned `:latest` image
|
||||
tag (new apps must pin a concrete version). It needs `python3` and PyYAML; it
|
||||
tells you if either is missing. The Rust parser in `core/container/src/manifest.rs`
|
||||
remains the canonical validator — this script is the fast local preflight.
|
||||
|
||||
### Local Testing
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user