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
|
||||
|
||||
|
||||
@@ -16,4 +16,34 @@ integrations:
|
||||
project_url: https://github.com/iamgio/quarkdown
|
||||
notes: >
|
||||
Reference integration for adapter reuse mode. Definition lives in the
|
||||
consuming repository; this index row is the registry discovery surface.
|
||||
consuming repository; this index row is the registry discovery surface.
|
||||
|
||||
- id: open-cmis-tck
|
||||
name: Apache Chemistry OpenCMIS TCK Harness
|
||||
status: registered
|
||||
owner: open-cmis-tck
|
||||
reuse_mode: adapter
|
||||
risk_level: medium
|
||||
path: integration/opencmis-tck.integration.yaml
|
||||
repo: open-cmis-tck
|
||||
upstream:
|
||||
name: Apache Chemistry OpenCMIS TCK
|
||||
project_url: https://github.com/apache/chemistry-opencmis
|
||||
notes: >
|
||||
Guide-board extension wrapping OpenCMIS TCK ConsoleRunner through a
|
||||
cli-boundary adapter.
|
||||
|
||||
- id: issue-core-gitea
|
||||
name: issue-core Gitea Backend
|
||||
status: registered
|
||||
owner: issue-core
|
||||
reuse_mode: adapter
|
||||
risk_level: medium
|
||||
path: integration/gitea-backend.integration.yaml
|
||||
repo: issue-core
|
||||
upstream:
|
||||
name: Gitea
|
||||
project_url: https://github.com/go-gitea/gitea
|
||||
notes: >
|
||||
RemoteBackend adapter mapping issue-core task lifecycle onto the Gitea
|
||||
issues API.
|
||||
Reference in New Issue
Block a user