Skip to content

Add standalone GitHub Action for plugin publishing #2365

@Patrick-Erichsen

Description

@Patrick-Erichsen

Summary

ClawHub currently provides an official reusable workflow for plugin publishing:

uses: openclaw/clawhub/.github/workflows/package-publish.yml@v0.12.0

That works and should remain the blessed full workflow, especially for the security-sensitive OIDC/trusted-publishing path. But for external plugin authors, a standalone GitHub Marketplace/composite action would be the more canonical and ergonomic integration surface.

Why

Reusable workflows are good when we want to own the whole job shape: checkout, CLI install, OIDC handling, dry-run/publish behavior, JSON artifact upload, etc.

Most plugin authors, though, expect to add a publishing step to an existing workflow:

- uses: openclaw/clawhub-publish@v1
  with:
    source_path: adapters/openclaw
    dry_run: false
    token: ${{ secrets.CLAWHUB_TOKEN }}

A standalone action would be easier to discover, easier to copy into existing release workflows, and more aligned with common GitHub Actions product integrations.

Proposed Direction

Add an official standalone action, for example one of:

  • openclaw/clawhub-publish@v1
  • openclaw/clawhub/actions/package-publish@v1
  • openclaw/clawhub-publish-plugin@v1

The action should wrap the same clawhub package publish path used by the reusable workflow.

Initial inputs could mirror the reusable workflow where useful:

  • source
  • source_path
  • dry_run
  • owner
  • version
  • tags
  • registry
  • site
  • token

Outputs:

  • publish_json
  • release_id

Relationship To The Existing Reusable Workflow

Keep .github/workflows/package-publish.yml as the blessed full workflow.

Recommended split:

  • Standalone action: canonical public interface for normal plugin repo integration.
  • Reusable workflow: full opinionated workflow, especially for trusted publishing/OIDC and teams that want ClawHub to own the job shape.

If OIDC support is too much for v1 of the action, document that secretless trusted publishing should use the reusable workflow initially, while token-based publishing can use the action.

Acceptance Criteria

  • There is an official standalone action for publishing ClawHub plugin packages.
  • Docs show the action as the simplest recommended integration for plugin authors.
  • Existing reusable workflow docs remain available for the full trusted-publishing path.
  • The action uses the same CLI/package publish implementation and preserves existing scope/owner validation behavior.
  • Examples cover both monorepo source_path and basic repo-root plugin publishing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.issue-rating: 🌊 off-meta tidepoolIssue quality rating does not apply to this item.security

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions