Skip to content

Enforce REST API deprecation runway in breakage checks#2464

Merged
enyst merged 6 commits intomainfrom
openhands/rest-api-policy-encoding
Mar 16, 2026
Merged

Enforce REST API deprecation runway in breakage checks#2464
enyst merged 6 commits intomainfrom
openhands/rest-api-policy-encoding

Conversation

@enyst
Copy link
Copy Markdown
Collaborator

@enyst enyst commented Mar 16, 2026

Summary

  • enforce the REST API breakage check with the documented removal target instead of a MINOR bump comparison
  • reject other in-place REST contract breakages until the 5-minor-release deprecation runway has elapsed
  • add CI script tests covering scheduled removals and non-removal breaking changes

Closes #2463.

Checklist

  • If the PR is changing/adding functionality, are there tests to reflect this?
  • If there is an example, have you run the example to make sure that it works?
  • If there are instructions on how to run the code, have you followed the instructions and made sure that it works?
  • If the feature is significant enough to require documentation, is there a PR open on the OpenHands/docs repository with the same branch name?
  • Is the github CI passing?

Agent Server images for this PR

GHCR package: https://github.com/OpenHands/agent-sdk/pkgs/container/agent-server

Variants & Base Images

Variant Architectures Base Image Docs / Tags
java amd64, arm64 eclipse-temurin:17-jdk Link
python amd64, arm64 nikolaik/python-nodejs:python3.13-nodejs22 Link
golang amd64, arm64 golang:1.21-bookworm Link

Pull (multi-arch manifest)

# Each variant is a multi-arch manifest supporting both amd64 and arm64
docker pull ghcr.io/openhands/agent-server:79bffdf-python

Run

docker run -it --rm \
  -p 8000:8000 \
  --name agent-server-79bffdf-python \
  ghcr.io/openhands/agent-server:79bffdf-python

All tags pushed for this build

ghcr.io/openhands/agent-server:79bffdf-golang-amd64
ghcr.io/openhands/agent-server:79bffdf-golang_tag_1.21-bookworm-amd64
ghcr.io/openhands/agent-server:79bffdf-golang-arm64
ghcr.io/openhands/agent-server:79bffdf-golang_tag_1.21-bookworm-arm64
ghcr.io/openhands/agent-server:79bffdf-java-amd64
ghcr.io/openhands/agent-server:79bffdf-eclipse-temurin_tag_17-jdk-amd64
ghcr.io/openhands/agent-server:79bffdf-java-arm64
ghcr.io/openhands/agent-server:79bffdf-eclipse-temurin_tag_17-jdk-arm64
ghcr.io/openhands/agent-server:79bffdf-python-amd64
ghcr.io/openhands/agent-server:79bffdf-nikolaik_s_python-nodejs_tag_python3.13-nodejs22-amd64
ghcr.io/openhands/agent-server:79bffdf-python-arm64
ghcr.io/openhands/agent-server:79bffdf-nikolaik_s_python-nodejs_tag_python3.13-nodejs22-arm64
ghcr.io/openhands/agent-server:79bffdf-golang
ghcr.io/openhands/agent-server:79bffdf-java
ghcr.io/openhands/agent-server:79bffdf-python

About Multi-Architecture Support

  • Each variant tag (e.g., 79bffdf-python) is a multi-arch manifest supporting both amd64 and arm64
  • Docker automatically pulls the correct architecture for your platform
  • Individual architecture tags (e.g., 79bffdf-python-amd64) are also available if needed

Co-authored-by: openhands <openhands@all-hands.dev>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 16, 2026

Python API breakage checks — ✅ PASSED

Result:PASSED

Action log

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 16, 2026

REST API breakage checks (OpenAPI) — ✅ PASSED

Result:PASSED

Action log

@openhands-ai openhands-ai bot mentioned this pull request Mar 16, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 16, 2026

Coverage

Coverage Report •
FileStmtsMissCoverMissing
TOTAL19950887555% 
report-only-changed-files is enabled. No files were changed during this commit :)

Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
@enyst enyst marked this pull request as ready for review March 16, 2026 16:02
Copy link
Copy Markdown
Collaborator

@all-hands-bot all-hands-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Acceptable - Solid engineering that solves a real problem. The core logic correctly enforces the documented 5-minor-release deprecation runway. A few minor suggestions for robustness below, but nothing blocking.

Comment thread .github/scripts/check_agent_server_rest_api_breakage.py
Comment thread .github/scripts/check_agent_server_rest_api_breakage.py
Comment thread tests/ci_scripts/test_check_agent_server_rest_api_breakage.py Outdated
Comment thread openhands-agent-server/AGENTS.md Outdated
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
Comment thread openhands-agent-server/AGENTS.md Outdated
@enyst enyst enabled auto-merge (squash) March 16, 2026 17:19
@enyst enyst merged commit 3ede303 into main Mar 16, 2026
23 checks passed
@enyst enyst deleted the openhands/rest-api-policy-encoding branch March 16, 2026 17:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

REST API policy encoding

3 participants