Skip to content

build(toolchain): bump anyscale CLI to 0.26.107 for k8s clouds - #1054

Open
elliot-barn wants to merge 1 commit into
mainfrom
bump-anyscale-cli-0.26.107
Open

build(toolchain): bump anyscale CLI to 0.26.107 for k8s clouds#1054
elliot-barn wants to merge 1 commit into
mainfrom
bump-anyscale-cli-0.26.107

Conversation

@elliot-barn

Copy link
Copy Markdown
Contributor

Why

Before 0.26.107, workspace_v2 run_command was unconditionally legacy port-22 SSH:

host_name, config_file = self.generate_ssh_config_file(id=workspace_model.id)
return subprocess.run(["ssh"] + ANYSCALE_WORKSPACES_SSH_OPTIONS
                      + ["-F", config_file, host_name, command], ...)

Port 22 is unreachable on Kubernetes clouds (AKS/EKS/GKE). 0.26.107 prefers the HTTPS/WebSocket tunnel (wss://<host>/sshws).

Observed on an Azure AKS workspace with the old pin — every run_command fails, the CLI exits 0 anyway, and the template's tests silently never run:

>>> anyscale workspace_v2 run_command --name <ws> unzip -o workspace-intro.zip
ssh: connect to host 20.3.70.145 port 22: Connection timed out
>>> anyscale workspace_v2 run_command --name <ws> timeout 900 bash -c 'bash tests.sh'
ssh: connect to host 20.3.70.145 port 22: Connection timed out
Test completed successfully          ← reported as a pass

With 0.26.107 the same command against the same workspace connects and runs. VM clouds are unaffected (legacy SSH works there), so nothing currently green goes red.

What

  • pyproject.toml: anyscale==0.26.990.26.107. scripts/test-pipeline/render-template-pipeline.sh reads the pin from here, so the Buildkite template-test pipeline picks it up.
  • uv.lock regenerated with uv lock, per the pyproject header and because premerge runs uv sync --frozen.
  • .claude/skills/template/references/run-tests-locally-with-rayapp.md: stale 0.26.870.26.107. Not wired to anything, but it's what a contributor copy-pastes when running rayapp by hand.

Testing

  • uv lock --check clean — the lock matches pyproject, which is what uv sync --frozen enforces in premerge.
  • Verified the pipeline still parses the pin past the added comment: grep -oE 'anyscale==[0-9][0-9A-Za-z.+!-]*' pyproject.toml | head -1 | cut -d= -f30.26.107.
  • pre-commit green.

Related

Necessary but not sufficient for testing templates on Kubernetes clouds — rayapp also assumes the VM layout (run_command starts in $HOME while push writes to the workspace working directory; bash -c doesn't source the ~/.bashrc where k8s workspaces declare PATH and ANYSCALE_*). See ray-project/rayci#496, which fixes the related "failing command reports success" bug. The same bump for the publish pipeline's copy of this pin is anyscale/product#42483.

🤖 Generated with Claude Code

Before 0.26.107, `workspace_v2 run_command` was unconditionally legacy
port-22 SSH, which is unreachable on Kubernetes clouds (AKS/EKS/GKE);
0.26.107 prefers the HTTPS/WebSocket tunnel. On an Azure AKS workspace
the old pin fails every run_command with `ssh: connect to host <ip>
port 22: Connection timed out` while the CLI still exits 0, so a
template's tests never run and the step passes.

VM clouds are unaffected -- legacy SSH works there -- so nothing
currently green goes red from this bump.

The template-test pipeline reads this pin out of pyproject.toml
(scripts/test-pipeline/render-template-pipeline.sh), so bumping here
covers it. Lock regenerated with `uv lock`, as the pyproject header
requires and `uv sync --frozen` in premerge enforces.

Also bump the stale 0.26.87 in the local-testing reference, which is
what a contributor copy-pastes when running rayapp by hand.

Signed-off-by: Elliot Barnwell <elliot.barnwell@anyscale.com>
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