Skip to content

feat: marketplace publish path (manifest + script + staging/prod workflows)#369

Merged
xuyushun441-sys merged 1 commit into
mainfrom
feat/marketplace-publish
Jun 4, 2026
Merged

feat: marketplace publish path (manifest + script + staging/prod workflows)#369
xuyushun441-sys merged 1 commit into
mainfrom
feat/marketplace-publish

Conversation

@xuyushun441-sys
Copy link
Copy Markdown
Contributor

HotCRM had no way to reach the marketplace — only a GitHub-Release workflow. This adds the full publish path so it can be listed alongside the templates.

  • objectstack.manifest.json — marketplace metadata (manifestId: app.objectstack.hotcrm, category crm, MIT, icon, README).
  • scripts/publish-marketplace.mjs — single-package publisher: reads package.json + manifest + dist/objectstack.json, upserts sys_package then creates the version (auto_approve, 409 = no-op). Hardened with per-request timeout + retry (the control plane is a cold singleton) — mirrors the templates repo's publisher.
  • pnpm publish:marketplace (+ :dry-run).
  • publish-staging.ymlhttps://cloud.objectos.app (OS_CLOUD_API_KEY_STAGING; dispatch + release)
  • publish-production.ymlhttps://cloud.objectos.ai (OS_CLOUD_API_KEY_PRODUCTION; manual dispatch only)

Same explicit-target / org-level-secret model as the templates repo — no per-repo Environment setup; the org secrets are already configured.

After merge: dispatch publish-staging (or with dry_run) to list HotCRM on the staging marketplace.

🤖 Generated with Claude Code

…flows)

HotCRM had no way to reach the marketplace — only a GitHub-Release workflow.
Adds the full publish path so it can be listed alongside the templates:

- objectstack.manifest.json — marketplace metadata (manifestId
  app.objectstack.hotcrm, category crm, MIT, icon, readme).
- scripts/publish-marketplace.mjs — single-package publisher: reads
  package.json + manifest + dist/objectstack.json, upserts sys_package then
  creates the version (auto_approve, 409 = no-op). Hardened with per-request
  timeout + retry (the control plane is a cold singleton) — mirrors the
  templates repo's publisher.
- pnpm publish:marketplace (+ :dry-run).
- .github/workflows/publish-staging.yml  → https://cloud.objectos.app
    (OS_CLOUD_API_KEY_STAGING; dispatch + release)
  .github/workflows/publish-production.yml → https://cloud.objectos.ai
    (OS_CLOUD_API_KEY_PRODUCTION; manual dispatch only)
  Same explicit-target / org-level-secret model as the templates repo.

Setup: org-level secrets OS_CLOUD_API_KEY_STAGING / _PRODUCTION (already set).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 4, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
hotcrm Ignored Ignored Jun 4, 2026 7:31am

Request Review

'Content-Type': 'application/json',
Authorization: `Bearer ${OS_CLOUD_API_KEY}`,
},
body: JSON.stringify(body),
@xuyushun441-sys xuyushun441-sys merged commit acad8f0 into main Jun 4, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants