Skip to content

Conversation

@ak684
Copy link

@ak684 ak684 commented Nov 4, 2025


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.12-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:6a8a73a-python

Run

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

All tags pushed for this build

ghcr.io/openhands/agent-server:6a8a73a-golang-amd64
ghcr.io/openhands/agent-server:v1.0.0a5_golang_tag_1.21-bookworm_binary-amd64
ghcr.io/openhands/agent-server:6a8a73a-golang-arm64
ghcr.io/openhands/agent-server:v1.0.0a5_golang_tag_1.21-bookworm_binary-arm64
ghcr.io/openhands/agent-server:6a8a73a-java-amd64
ghcr.io/openhands/agent-server:v1.0.0a5_eclipse-temurin_tag_17-jdk_binary-amd64
ghcr.io/openhands/agent-server:6a8a73a-java-arm64
ghcr.io/openhands/agent-server:v1.0.0a5_eclipse-temurin_tag_17-jdk_binary-arm64
ghcr.io/openhands/agent-server:6a8a73a-python-amd64
ghcr.io/openhands/agent-server:v1.0.0a5_nikolaik_s_python-nodejs_tag_python3.12-nodejs22_binary-amd64
ghcr.io/openhands/agent-server:6a8a73a-python-arm64
ghcr.io/openhands/agent-server:v1.0.0a5_nikolaik_s_python-nodejs_tag_python3.12-nodejs22_binary-arm64
ghcr.io/openhands/agent-server:6a8a73a-golang
ghcr.io/openhands/agent-server:6a8a73a-java
ghcr.io/openhands/agent-server:6a8a73a-python

About Multi-Architecture Support

  • Each variant tag (e.g., 6a8a73a-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., 6a8a73a-python-amd64) are also available if needed

@github-actions
Copy link
Contributor

github-actions bot commented Nov 4, 2025

Coverage

Coverage Report •
FileStmtsMissCoverMissing
openhands-sdk/openhands/sdk/llm
   llm.py43617659%308, 312, 317, 321, 333, 337–339, 343–344, 355, 357, 361, 378, 403, 408, 412, 417, 437, 466, 487, 491, 506, 512–513, 532–533, 541, 566–571, 592–593, 596, 600, 612, 617–620, 627, 630, 638–643, 646, 663, 667–669, 671–672, 677–678, 680, 687, 690–695, 759–762, 767–774, 776–778, 787–789, 792–793, 834–835, 872, 886, 936, 939–941, 944–952, 956–958, 961, 964–966, 973–974, 983, 990–992, 996–997, 999–1004, 1006–1014, 1016–1036, 1039–1043, 1045–1046, 1052–1061, 1074, 1088, 1093
openhands-sdk/openhands/sdk/llm/utils
   telemetry.py1718450%109, 115, 124, 128, 131, 136–137, 172, 179, 201, 205–206, 214–216, 222, 239–241, 244–247, 249, 257–258, 262–264, 267–270, 275, 280, 283, 288, 291, 297, 303, 305, 308–309, 314, 319–323, 327–334, 336–337, 341–345, 349–352, 356–360, 364–367, 371, 377, 381, 384–387
TOTAL11680540253% 

"""Test that ssl_verify is correctly parsed from environment variables."""
# Test various false values
for value in ["false", "False", "FALSE", "0", "no", "off"]:
os.environ["LLM_SSL_VERIFY"] = value
Copy link
Collaborator

Choose a reason for hiding this comment

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

@OpenHands there's some monkeypatch env in pytest, which cleans up itself, for use in testing. You know what I mean. Adjust this test a bit to use it

Copy link

Choose a reason for hiding this comment

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

I'm on it! enyst can track my progress at all-hands.dev

Copy link

Choose a reason for hiding this comment

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

Summary of changes

What I updated

  • File: tests/sdk/llm/test_llm.py
  • Test updated: test_llm_ssl_verify_env_parsing
    • Switched from direct os.environ manipulation to pytest’s monkeypatch.setenv for environment variables.
    • Set LLM_MODEL once via monkeypatch for all load_from_env calls in the test.
    • Removed manual cleanup of environment variables and the now-unused os import.

Why

  • Per the PR comment, this uses pytest’s monkeypatch fixture which automatically restores environment state after the test, improving isolation and avoiding side effects.

Verification

  • Pre-commit on the changed file: passed (ruff format/lint, pycodestyle, pyright).
  • Ran the specific test: uv run pytest -q tests/sdk/llm/test_llm.py::test_llm_ssl_verify_env_parsing → 1 passed.

Checklist

  • Addressed the request to use pytest’s env monkeypatch.
  • Kept the change minimal: only modified the relevant test and removed an unused import.
  • Followed repo dev/test guidelines (pre-commit hooks, no mypy, minimal changes).
  • Committed only the changed test file with Co-authored-by and pushed to the current branch.

Commit

  • tests(llm): use pytest monkeypatch for env vars in ssl_verify parsing test
  • Branch: alona/all-4119-add-enterprise-gateway-support-for-llm-providers-in-cli-v3

If you want, I can sweep other tests for os.environ usage and convert them to monkeypatch as well.

View full conversation

enyst and others added 3 commits November 4, 2025 21:04
… test

Replaces direct os.environ manipulation with monkeypatch.setenv so env is auto-restored and the test is isolated.

Co-authored-by: openhands <[email protected]>
- Wrap long strings to satisfy line length
- Replace cli_mode usage not supported by Agent ctor
- Remove trailing whitespace per pycodestyle

Co-authored-by: openhands <[email protected]>
@openhands-ai
Copy link

openhands-ai bot commented Nov 5, 2025

Looks like there are a few issues preventing this PR from being merged!

  • GitHub Actions are failing:
    • Check Documented Examples

If you'd like me to help, just leave a comment, like

@OpenHands please fix the failing actions on PR #1026 at branch `alona/all-4119-add-enterprise-gateway-support-for-llm-providers-in-cli-v3`

Feel free to include any additional details that might help me get this PR into a better state.

You can manage your notification settings

Copy link
Collaborator

@enyst enyst left a comment

Choose a reason for hiding this comment

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

Just to note, the docs check is not mandatory. It's there just to remind us to make a docs PR (the agent should know what to do if we tell it to do something similar to the other examples)

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.

3 participants