docs: add cross-repo testing skill for SDK ↔ OH Cloud e2e workflow#2477
docs: add cross-repo testing skill for SDK ↔ OH Cloud e2e workflow#2477
Conversation
Adds a skill that guides agents through the full end-to-end testing workflow when an SDK feature requires changes in the OpenHands Cloud backend. Covers: repo relationships, staging deployment via deploy repo, feature-env auth gotchas, and result recording. Co-authored-by: openhands <openhands@all-hands.dev>
Python API breakage checks — ✅ PASSEDResult: ✅ PASSED |
REST API breakage checks (OpenAPI) — ✅ PASSEDResult: ✅ PASSED |
…ng skill Covers the reverse dependency: when the OpenHands server needs new SDK packages/agent-server image. Steps: pin SDK to git commit, use SDK PR's merge-commit SHA for agent-server image, regenerate lock files, wait for enterprise image build, then deploy. Co-authored-by: openhands <openhands@all-hands.dev>
all-hands-bot
left a comment
There was a problem hiding this comment.
Taste Rating: 🟡 Acceptable - Comprehensive documentation solving a real cross-repo testing pain point.
[IMPROVEMENT OPPORTUNITIES]
One minor clarity improvement suggested inline, but the document is ready to merge as-is.
VERDICT: ✅ Worth merging - Accurate, comprehensive documentation distilled from real workflow experience (PR #2409).
KEY INSIGHT: Complex workflows can't always be simplified away—the best you can do is document them clearly with concrete examples, which this does well.
Co-authored-by: Engel Nyst <engel.nyst@gmail.com>
| @@ -0,0 +1,214 @@ | |||
| --- | |||
| name: cross-repo-testing | |||
There was a problem hiding this comment.
| name: cross-repo-testing | |
| name: saas-cloud-workspace-testing |
This skill is fully tied to deploy/, I’m not sure… I think it’s not useful for anyone not in AH.
It’s not really about e2e testing with the cloud, either; I can test e2e with the cloud. 🤔
I wonder if there’s some alternative… I understand you need it now. And I’m not sure a non-default marketplace works on the cloud… You’re using the SDK repo on the cloud, right?
There was a problem hiding this comment.
yeah i agree this is not a great idea... Maybe we can hold off merging this, and we can first figure out how we can get these as custom secrets so it doesn't ends up in the open-source repo
enyst
left a comment
There was a problem hiding this comment.
Sorry for my hesitations, Xingyao, honestly I doubt we have a lot of choice - you need this in context, but any other contributor to the SDK should, maybe to the contrary, not have it in context. 🫠
We really need your work on automations ❤️ so IMHO we could take this PR, though I kinda hope we can remove it soon / move it somewhere or somehow not interfere with everyone else’s attempt to work with the repo…
I think non-default marketplaces work in the SDK, and skills can individually be specified in them. So maybe that will be an option, though I don’t know if it works yet on the cloud, WDYT?
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: Engel Nyst <engel.nyst@gmail.com>
Summary
Adds
.agents/skills/cross-repo-testing/SKILL.md— a skill that guides AI agents through the end-to-end testing workflow when an SDK feature requires coordinated changes in the OpenHands Cloud backend.What it covers
software-agent-sdk(agent core),OpenHands(Cloud backend), anddeploy(infrastructure)Why both repos?
This same skill is being added to the
OpenHandsrepo in a companion PR. Agents working from either side of a cross-repo feature need this guide:OpenHandsCloudWorkspace.get_llm()that call Cloud APIsContext
This skill was distilled from the real cross-repo testing workflow performed for SDK PR #2409 + Server PR OpenHands/OpenHands#13383 (SaaS credentials inheritance for SDK-created conversations).
Agent Server images for this PR
• GHCR package: https://github.com/OpenHands/agent-sdk/pkgs/container/agent-server
Variants & Base Images
eclipse-temurin:17-jdknikolaik/python-nodejs:python3.13-nodejs22golang:1.21-bookwormPull (multi-arch manifest)
# Each variant is a multi-arch manifest supporting both amd64 and arm64 docker pull ghcr.io/openhands/agent-server:07278b2-pythonRun
All tags pushed for this build
About Multi-Architecture Support
07278b2-python) is a multi-arch manifest supporting both amd64 and arm6407278b2-python-amd64) are also available if needed