feat(mcp,kvm): publish to Forgejo Cargo registry + image attachments #25
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/cargo-registry-publish"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Lets downstream repos (desktop-mcp today; agent installers tomorrow) depend on
vervain-agent-mcpandvervain-agent-kvmas normal version deps instead of cross-repo path deps. Eliminates theactions/checkout@v5+read:repositoryPAT scope plumbing those repos currently need (see desktop-mcp PR #1).Bundles two strands at the consumer's request:
vervain-agent-mcp::ToolResultimage-attachment API plusRegistry::call/McpError::codemade public, so out-of-process transports (desktop-mcp's axum adapter, custom HTTP shims) can dispatch and build error responses without going throughserve().What this PR sets up
.cargo/config.tomldefines apsa-systems-cargoregistry alias pointing atsparse+https://dev.a8n.run/api/packages/psa-systems/cargo/.vervain-agent-mcp,vervain-agent-kvm) getspublish = ["psa-systems-cargo"]so an accidentalcargo publishwithout--registryis rejected.Cargo.tomlworkspace deps gainversion = "0.0.1"alongside the existingpathsocargo publishhas a version to record..forgejo/workflows/publish-crates.ymlrunscargo publishon per-crate tag pushes (vervain-agent-mcp-v<semver>/vervain-agent-kvm-v<semver>), gated by a workspace-version-vs-tag equality check.Auth
secrets.PSA_SYSTEMS_PRIVATE_PACKAGE_PATwithwrite:packagescope, already provisioned forbuild-package.yml. Cargo and Generic Packages share the scope on Forgejo.Smoke test
Test plan
vervain-agent-mcp-v0.0.1andvervain-agent-kvm-v0.0.1; verifyPublish cratesworkflow uploads bothcargo search --registry psa-systems-cargo vervain-agent-mcpreturns the published crate from a clean dev box{ version = "0.0.1", registry = "psa-systems-cargo" }