openclaw / openclaw/ocm

Support GitHub PR targets in upgrade simulate

Open
#121 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

clawsweeper:needs-maintainer-review clawsweeper:needs-product-decision clawsweeper:no-new-fix-pr impact:other issue-rating: 🌊 off-meta tidepool P3
Dominant language
Rust
Stars
19
Forks
18
Avg merge
16h 43m
Merged PRs (30d)
118

Description

Problem

ocm upgrade simulate <env> --to <local-repo-path> can validate an exact checkout safely, but validating a GitHub pull request requires the operator to prepare that checkout manually first. During release triage this adds repeated setup and makes it easier to test a stale or different head than the one under review.

Proposed capability

Allow --to to accept either:

  • owner/repo#123
  • https://github.com/owner/repo/pull/123

The resolved target should:

  1. record the repository, PR number, and immutable public head SHA;
  2. materialize a run-owned temporary checkout at that exact head;
  3. reuse the existing local-checkout simulation path unchanged;
  4. clean only the run-owned checkout through the same ownership boundary used for simulation artifacts;
  5. leave an explicitly supplied local checkout untouched;
  6. fail clearly when the PR is unavailable, ambiguous, private without existing authentication, or changes head during resolution.

Maintainer decisions requested

  • Should OCM rely on an installed authenticated gh, use public GitHub API + Git, or support only public PRs initially?
  • Should cross-repository PRs be accepted, or only openclaw/openclaw?
  • What target identity should be emitted in JSON so downstream release tooling can cite the exact head without parsing display text?

Alternatives

The existing local-path workflow remains valid and should stay as the lower-level primitive. A shell wrapper can prepare a checkout, but it cannot provide a consistent OCM-owned lifecycle or canonical target identity.

Impact

This affects maintainers and contributors repeatedly validating individual PRs or current-main combinations before release inclusion. It is workflow friction rather than a candidate defect, but it occurs on every PR validation run.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the ocm upgrade simulate <env> --to <local-repo-path> entry point and trace the existing local-checkout simulation path and artifact ownership boundary. Before implementation, resolve the open decisions about GitHub authentication, cross-repository targets, and JSON target identity. Done means supported PR target forms resolve to an immutable head, reuse simulation, clean only owned checkouts, preserve supplied local paths, and fail clearly in the listed cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, github, rust
Domain
cli, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.