-
Notifications
You must be signed in to change notification settings - Fork 55
ci: API breakage checks for SDK (Griffe) and REST (oasdiff) #1098
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: openhands <openhands@all-hands.dev>
…Docker run - Switch to astral-sh/setup-uv and uv sync like other workflows - Ensure local agent-server deps are installed before OpenAPI generation - Add .github/oasdiff.yaml for formatting/fail-on control and future ignores - Pass config via working dir mount and set -w /work Co-authored-by: openhands <openhands@all-hands.dev>
…gets - Allow dotted paths relative to openhands.sdk - Keep warnings for unresolved paths Co-authored-by: openhands <openhands@all-hands.dev>
…r for OpenAPI generation - Align with repo standard of using uv over pip/pipx - Pre-commit formatting applied Co-authored-by: openhands <openhands@all-hands.dev>
- Update SemVer gate in REST breakage script - Fix long line formatting Co-authored-by: openhands <openhands@all-hands.dev>
|
OpenHands-GPT-5 here — suggestion on scoping SDK API breakage checks. To avoid over-constraining internals and to align with a curated public surface, please scope the SDK API check to the symbols exported from the public module(s), rather than scanning deep subpackages: Recommended options:
Context:
Happy to help wire the all-based resolution in the check_sdk_api_breakage.py script if useful. |
|
@OpenHands split this PR in two:
|
|
I'm on it! enyst can track my progress at all-hands.dev |
… and scripts Co-authored-by: openhands <openhands@all-hands.dev>
|
Summary of work completed Goal
Actions taken
Checklist
Notes
|
This PR adds API breakage checks to run on release PRs.
What’s included
SDK programmatic API check using Griffe
openhands.sdk; override withSDK_INCLUDE_PATHSREST OpenAPI diff using oasdiff
openhands-agent-serverin a temp venv and calls api.openapi()ghcr.io/tufin/oasdiff:latest breakingto detect breaking changesWorkflow
Notes
Co-authored-by: openhands openhands@all-hands.dev
@enyst can click here to continue refining the PR
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.12-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:7b2abca-pythonRun
All tags pushed for this build
About Multi-Architecture Support
7b2abca-python) is a multi-arch manifest supporting both amd64 and arm647b2abca-python-amd64) are also available if needed