generated from coulomb/repo-seed
feat(cli): add open-reuse validate and register portfolio integrations
Some checks failed
ci / validate-registry (push) Has been cancelled
Some checks failed
ci / validate-registry (push) Has been cancelled
Implement Integration Definition validator CLI with schema and index checks, pytest suite, and CI workflow. Register open-cmis-tck and issue-core-gitea in the integration index. Closes OPEN-WP-0003 and OPEN-WP-0004.
This commit is contained in:
@@ -132,14 +132,35 @@ Prove Value
|
||||
5. Set `schema_version: open-reuse.integration.v0.1`.
|
||||
6. Add a row to `registry/indexes/integrations.yaml` with `id`, `path`, `repo`,
|
||||
`reuse_mode`, and `upstream` summary.
|
||||
7. Validate manually (checklist below) before setting `status: active`.
|
||||
7. Run `open-reuse validate --repos-base <portfolio-root>` before setting
|
||||
`status: active`.
|
||||
|
||||
Early adopters may use `schema_version: open-reuse.integration.v1`; the schema
|
||||
accepts both. New entries should use v0.1.
|
||||
|
||||
## Automated validation
|
||||
|
||||
Primary validation path:
|
||||
|
||||
```bash
|
||||
# Install (from repo root)
|
||||
python -m pip install -e ".[dev]"
|
||||
|
||||
# Validate local definitions and registry index
|
||||
open-reuse validate
|
||||
|
||||
# Validate index rows against consuming-repo definitions
|
||||
open-reuse validate --repos-base /home/worsch
|
||||
|
||||
# Treat promotion-gate warnings as failures (CI default for strict checks)
|
||||
open-reuse validate --repos-base /home/worsch --fail-on-warnings
|
||||
```
|
||||
|
||||
CI runs `open-reuse validate --indexed-only` on every push to `main`.
|
||||
|
||||
## Manual validation checklist
|
||||
|
||||
Use until an automated CLI validator ships.
|
||||
Fallback when the CLI is unavailable.
|
||||
|
||||
### Required fields
|
||||
|
||||
@@ -174,14 +195,17 @@ Update actions: `ignore`, `monitor-only`, `open-issue`, `open-update-proposal`,
|
||||
- [ ] `reuse_mode` matches `reuse.primary_reuse_mode` in the definition
|
||||
- [ ] `upstream.name` matches the definition
|
||||
|
||||
## Reference integration
|
||||
## Reference integrations
|
||||
|
||||
`markitect-quarkdown` provides the first real-world adapter integration:
|
||||
| ID | Repo | Reuse mode | Definition path |
|
||||
| -- | ---- | ---------- | --------------- |
|
||||
| `markitect-quarkdown` | markitect-quarkdown | adapter | `integration/quarkdown.integration.yaml` |
|
||||
| `open-cmis-tck` | open-cmis-tck | adapter | `integration/opencmis-tck.integration.yaml` |
|
||||
| `issue-core-gitea` | issue-core | adapter | `integration/gitea-backend.integration.yaml` |
|
||||
|
||||
- Definition: `markitect-quarkdown/integration/quarkdown.integration.yaml`
|
||||
- Index row: `indexes/integrations.yaml` → `markitect-quarkdown`
|
||||
|
||||
Use it as a worked example for adapter + cli-boundary reuse.
|
||||
`markitect-quarkdown` is the primary worked example for adapter + cli-boundary
|
||||
reuse. `open-cmis-tck` illustrates cli-boundary orchestration of an upstream
|
||||
test harness. `issue-core-gitea` illustrates a remote API backend adapter.
|
||||
|
||||
## Capability registry
|
||||
|
||||
|
||||
Reference in New Issue
Block a user