Skip to content

Update CI build image to 42485dd6111408d43a911a5b1126316ef3151798.#1867

Closed
jmillikin-stripe wants to merge 1 commit intoenvoyproxy:masterfrom
jmillikin-stripe:update-ci-sha
Closed

Update CI build image to 42485dd6111408d43a911a5b1126316ef3151798.#1867
jmillikin-stripe wants to merge 1 commit intoenvoyproxy:masterfrom
jmillikin-stripe:update-ci-sha

Conversation

@jmillikin-stripe
Copy link
Copy Markdown
Contributor

No description provided.

@mattklein123
Copy link
Copy Markdown
Member

The image build job failed on your master commit. Can you look at that first?

@jmillikin-stripe
Copy link
Copy Markdown
Contributor Author

The image build job failed on your master commit. Can you look at that first?

Looking now. I don't understand why it fails at master but passed the PR checks.

@mattklein123
Copy link
Copy Markdown
Member

We don't build the image on every PR currently since it takes a lot of resources. Now that we are on Circle I think we potentially could do this on every PR and have it quick exit. Let me look into this.

@mattklein123
Copy link
Copy Markdown
Member

@jmillikin-stripe do you mind bumping this to the SHA that built?

@jmillikin-stripe
Copy link
Copy Markdown
Contributor Author

Updated to 2beecad, which has the CI and MacOS build fixes. It's still building, though.

@mattklein123
Copy link
Copy Markdown
Member

Ah ok, thanks. You will need to kick this when it builds.

@jmillikin-stripe jmillikin-stripe changed the title Update CI build image to 099083043e0aa5c11900104ce51215f60e451d8d. Update CI build image to 2beecade45d07faed4ff1770c50a347b0e2f5f74. Oct 16, 2017
@mattklein123 mattklein123 reopened this Oct 17, 2017
@mattklein123
Copy link
Copy Markdown
Member

@jmillikin-stripe I think you might need to push a dummy commit to kick this.

@jmillikin-stripe jmillikin-stripe force-pushed the update-ci-sha branch 4 times, most recently from 911c38f to 3cb801d Compare October 17, 2017 02:42
@jmillikin-stripe
Copy link
Copy Markdown
Contributor Author

Pushing a dummy commit didn't help. I can't pull the image from my laptop, did it actually get pushed?

$ docker pull lyft/envoy-build:2beecade45d07faed4ff1770c50a347b0e2f5f74
Error response from daemon: manifest for lyft/envoy-build:2beecade45d07faed4ff1770c50a347b0e2f5f74 not found

@mattklein123
Copy link
Copy Markdown
Member

Looks like it did not push: https://hub.docker.com/r/lyft/envoy-build/tags/. Let me try to re-run it.

@mattklein123
Copy link
Copy Markdown
Member

@jmillikin-stripe I think you exposed a bug in our rebuild process. Right now we only rebuild when files change in certain directories: https://github.com/envoyproxy/envoy/blob/master/ci/build_container/docker_push.sh#L18

I think now you probably need to rebuild when bazel directory changes also? Can you fix that check? That should correctly build a new image when bazel things change also.

Signed-off-by: John Millikin <jmillikin@stripe.com>
@jmillikin-stripe jmillikin-stripe changed the title Update CI build image to 2beecade45d07faed4ff1770c50a347b0e2f5f74. Update CI build image to 42485dd6111408d43a911a5b1126316ef3151798. Oct 17, 2017
@mattklein123
Copy link
Copy Markdown
Member

Closing in favor of #1882

mathetake pushed a commit that referenced this pull request Mar 3, 2026
…1878)

**Description**

This commit adds a translator that will convert a request sent to
`/anthropic/v1/messages` and `/v1/messages` endpoints for OpenAI schema
backends. It does not matter whether the OpenAI schema backend natively
supports the endpoint (e.g. vLLM) as translating should be a light/fast
enough process. This approach is also more versatile and future-proof
than just passing through the Anthropic Message Request to a backend
that natively supports it. It also follows the already-existing
structure for adding translators, path processor factories, and schema
translation.

A major example use case would be using AI Gateway to route requests
from Claude Code to several AI backends like locally hosted vLLM models
with LoRA adapters.

NOTE: vLLM is only used for local testing as I do not have access to
compute. The intended goal for this PR is to support any OpenAI
compatible backend/services using an Anthropic interface.

**Related Issues/PRs (if applicable)**

Fixes #1372 
Fixes #1867 

**Special notes for reviewers (if applicable)**
Claude Code was used to write most of the tests but were verified. It
would also be nice if the maintainers could review the other PR #1843 as
some of the Anthropic apischema here can be updated once #1843 is
merged.

<details>

<summary>Functional Test Results</summary>

Test for anthropic endpoints for OpenAI schema backends that natively
support it:
```
$ curl -v http://localhost:8080/v1/messages   -H "Content-Type: application/json"   -d '{
    "model": "Qwen/Qwen2.5-0.5B-Instruct",
    "messages": [
      {"role": "user", "content": "Say hello!"}
    ],
    "max_tokens": 100
  }'
* Host localhost:8080 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
*   Trying [::1]:8080...
* Connected to localhost (::1) port 8080
> POST /v1/messages HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/8.5.0
> Accept: */*
> Content-Type: application/json
> Content-Length: 143
> 
< HTTP/1.1 200 OK
< date: Fri, 20 Feb 2026 18:46:04 GMT
< server: uvicorn
< content-type: application/json
< content-length: 331
< 
* Connection #0 to host localhost left intact
{"id":"chatcmpl-36ec5b3d-4273-41e9-966b-ed742f7a93d1","type":"message","role":"assistant","content":[{"type":"text","text":"Hello! How can I assist you today?"}],"model":"Qwen/Qwen2.5-0.5B-Instruct","stop_reason":"end_turn","usage":{"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":32,"output_tokens":10}}
```
```
$ curl -v http://localhost:8080/anthropic/v1/messages   -H "Content-Type: application/json"   -d '{
    "model": "Qwen/Qwen2.5-0.5B-Instruct",
    "messages": [
      {"role": "user", "content": "Say hello!"}
    ],
    "max_tokens": 100
  }'
* Host localhost:8080 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
*   Trying [::1]:8080...
* Connected to localhost (::1) port 8080
> POST /anthropic/v1/messages HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/8.5.0
> Accept: */*
> Content-Type: application/json
> Content-Length: 143
> 
< HTTP/1.1 200 OK
< date: Fri, 20 Feb 2026 18:46:44 GMT
< server: uvicorn
< content-type: application/json
< content-length: 331
< 
* Connection #0 to host localhost left intact
{"id":"chatcmpl-f639ff32-4f89-48c5-b5b1-56878e641da6","type":"message","role":"assistant","content":[{"type":"text","text":"Hello! How can I assist you today?"}],"model":"Qwen/Qwen2.5-0.5B-Instruct","stop_reason":"end_turn","usage":{"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":32,"output_tokens":10}}
```

Port Forward logs
```
$ kubectl port-forward -n envoy-gateway-system svc/$ENVOY_SERVICE 8080:80
Forwarding from 127.0.0.1:8080 -> 10080
Forwarding from [::1]:8080 -> 10080
Handling connection for 8080
Handling connection for 8080
Handling connection for 8080
```

vLLM Logs (for both requests)
```
(APIServer pid=141923) INFO:     Started server process [141923]
(APIServer pid=141923) INFO:     Waiting for application startup.
(APIServer pid=141923) INFO:     Application startup complete.
(APIServer pid=141923) INFO:     172.18.0.2:46854 - "POST /v1/chat/completions HTTP/1.1" 200 OK
(APIServer pid=141923) INFO 02-20 13:46:05 [loggers.py:257] Engine 000: Avg prompt throughput: 3.2 tokens/s, Avg generation throughput: 1.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0%
(APIServer pid=141923) INFO 02-20 13:46:15 [loggers.py:257] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 0.0%
(APIServer pid=141923) INFO:     172.18.0.2:47216 - "POST /v1/chat/completions HTTP/1.1" 200 OK
(APIServer pid=141923) INFO 02-20 13:46:45 [loggers.py:257] Engine 000: Avg prompt throughput: 3.2 tokens/s, Avg generation throughput: 1.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 25.0%
(APIServer pid=141923) INFO 02-20 13:46:55 [loggers.py:257] Engine 000: Avg prompt throughput: 0.0 tokens/s, Avg generation throughput: 0.0 tokens/s, Running: 0 reqs, Waiting: 0 reqs, GPU KV cache usage: 0.0%, Prefix cache hit rate: 25.0%
```

</details>

---------

Signed-off-by: Chang Min <changminbark@gmail.com>
Co-authored-by: Ignasi Barrera <ignasi@tetrate.io>
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.

2 participants