publish-runtime cascade must open PRs instead of pushing protected template main branches #40

Closed
opened 2026-05-21 22:19:41 +00:00 by hongming · 1 comment
Owner

Problem

Runtime publish runtime-v0.2.0 published the wheel successfully, but the cascade job failed when it tried to push .runtime-version directly to protected template main branches.

Observed run:

  • molecule-ai-workspace-runtime publish-runtime.yml run 91776
  • publish job succeeded
  • cascade job failed
  • failure line: Gitea: Not allowed to push to protected branch main
  • templates reported: claude-code:push hermes:push openclaw:push langgraph:push autogen:push

Why this matters

The runtime repo is SSOT. If publish succeeds but the template pins do not update, adapters can drift silently or consume an older runtime despite source being merged and packaged.

Fix direction

Change .gitea/workflows/publish-runtime.yml cascade from direct push to protected main into one PR per template repo, e.g. branch chore/runtime-<version> with .runtime-version update, PR title chore(runtime): bump runtime to <version>. If the PR already exists, update/reuse it.

Acceptance

  • publish cascade no longer pushes directly to protected main.
  • cascade creates or updates PRs for claude-code, hermes, openclaw, codex, langgraph, autogen.
  • cascade reports PR URLs in the workflow summary.
  • missing/no-op pins are treated explicitly: if template is already at the version, report no-op; otherwise PR must exist.

Parent: internal#638
Related runtime PR: molecule-ai-workspace-runtime#39
Related Hermes manual pin PR: molecule-ai-workspace-template-hermes#48

## Problem Runtime publish `runtime-v0.2.0` published the wheel successfully, but the cascade job failed when it tried to push `.runtime-version` directly to protected template `main` branches. Observed run: - molecule-ai-workspace-runtime publish-runtime.yml run 91776 - publish job succeeded - cascade job failed - failure line: `Gitea: Not allowed to push to protected branch main` - templates reported: `claude-code:push hermes:push openclaw:push langgraph:push autogen:push` ## Why this matters The runtime repo is SSOT. If publish succeeds but the template pins do not update, adapters can drift silently or consume an older runtime despite source being merged and packaged. ## Fix direction Change `.gitea/workflows/publish-runtime.yml` cascade from direct push to protected `main` into one PR per template repo, e.g. branch `chore/runtime-<version>` with `.runtime-version` update, PR title `chore(runtime): bump runtime to <version>`. If the PR already exists, update/reuse it. ## Acceptance - publish cascade no longer pushes directly to protected main. - cascade creates or updates PRs for claude-code, hermes, openclaw, codex, langgraph, autogen. - cascade reports PR URLs in the workflow summary. - missing/no-op pins are treated explicitly: if template is already at the version, report no-op; otherwise PR must exist. Parent: internal#638 Related runtime PR: molecule-ai-workspace-runtime#39 Related Hermes manual pin PR: molecule-ai-workspace-template-hermes#48
Author
Owner

Resolved by PR #41: publish-runtime cascade now opens template PRs instead of pushing protected main branches directly. PR CI was green and merged; no further direct-push path remains in the workflow.

Resolved by PR #41: publish-runtime cascade now opens template PRs instead of pushing protected main branches directly. PR CI was green and merged; no further direct-push path remains in the workflow.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-ai-workspace-runtime#40