Skip to content

fix(release): isolate Rust server publish Python - #2110

Merged
Nikhil (shadowfax92) merged 1 commit into
mainfrom
fix/claw-release-neo-skill
Aug 5, 2026
Merged

fix(release): isolate Rust server publish Python#2110
Nikhil (shadowfax92) merged 1 commit into
mainfrom
fix/claw-release-neo-skill

Conversation

@shadowfax92

Copy link
Copy Markdown
Contributor

Summary

  • use actions/setup-python for Rust server R2 publication and finalization
  • require a Boto3 release whose S3 model supports conditional PutObject
  • prevent runner system Python packages from shadowing installed release dependencies

Verification

  • actionlint .github/workflows/release-claw-server-rust.yml
  • bun test packages/browseros-agent/scripts/release (65 pass)

Fixes the publication failure in run 31043344099.

@shadowfax92
Nikhil (shadowfax92) merged commit ea7563b into main Aug 5, 2026
24 of 25 checks passed
@github-actions github-actions Bot added the fix label Aug 5, 2026
@greptile-apps

greptile-apps Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR isolates release Python dependencies with setup-python, constrains Boto3 to a release supporting conditional PutObject, and updates workflow tests accordingly.

  • Adds Python 3.13 setup to the Rust server publication and finalization jobs.
  • Installs Boto3 and AWS CLI into the selected Python environment instead of the runner user environment.
  • Extends release-workflow tests to enforce the new setup and reject user-site installs.

Confidence Score: 4/5

The PR appears safe to merge, with the non-blocking recommendation to pin the newly added release action references to immutable commits.

The Python isolation changes are consistent with their downstream commands and tests; the remaining concern is supply-chain hardening for two action steps that execute with release credentials.

Files Needing Attention: .github/workflows/release-claw-server-rust.yml

Security Review

The added setup-python steps use a mutable major-version tag while running in release jobs that hold R2 credentials and contents write permission. Pinning the action to a full commit SHA would make the release dependency immutable.

How this was verified: The added action references were traced to jobs whose environment contains production R2 credentials and whose inherited GitHub token has contents write permission.

Important Files Changed

Filename Overview
.github/workflows/release-claw-server-rust.yml Isolates publication tooling under Python 3.13 and removes user-site installs, but adds mutable action references to credential-bearing release jobs.
packages/browseros-agent/scripts/release/release-claw-server-rust-workflow.test.ts Adds focused assertions for setup-python, dependency installation, and removal of user-site pip usage.
Prompt To Fix All With AI
### Issue 1
.github/workflows/release-claw-server-rust.yml:632
**Mutable release action reference**

The newly added `actions/setup-python@v6` reference is mutable and executes in publication and finalization jobs with production R2 credentials and `contents: write` permission. Pinning both occurrences to an immutable commit prevents a repointed action tag from exposing credentials or altering published artifacts.

**How this was verified:** Both added action references were traced to jobs containing production R2 credentials and inheriting `contents: write` permission.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Reviews (1): Last reviewed commit: "fix(release): isolate Rust server publis..." | Re-trigger Greptile

path: dist/claw-server-rust
merge-multiple: true

- uses: actions/setup-python@v6

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 security Mutable release action reference

The newly added actions/setup-python@v6 reference is mutable and executes in publication and finalization jobs with production R2 credentials and contents: write permission. Pinning both occurrences to an immutable commit prevents a repointed action tag from exposing credentials or altering published artifacts.

How this was verified: Both added action references were traced to jobs containing production R2 credentials and inheriting contents: write permission.

Prompt To Fix With AI
This is a comment left during a code review.
Path: .github/workflows/release-claw-server-rust.yml
Line: 632

Comment:
**Mutable release action reference**

The newly added `actions/setup-python@v6` reference is mutable and executes in publication and finalization jobs with production R2 credentials and `contents: write` permission. Pinning both occurrences to an immutable commit prevents a repointed action tag from exposing credentials or altering published artifacts.

**How this was verified:** Both added action references were traced to jobs containing production R2 credentials and inheriting `contents: write` permission.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

✅ Tests passed — 2183/2186

Suite Passed Failed Skipped
agent 287/287 0 0
build 34/34 0 0
claw-app 293/293 0 0
claw-mcp 109/109 0 0
claw-onboard 87/87 0 0
claw-server-rust-quality passed 0 0
claw-server-rust 558/558 0 0
server-agent 264/264 0 0
server-api 131/131 0 0
server-browser 10/10 0 0
server-integration 10/10 0 0
server-lib 108/108 0 0
server-root 38/41 0 3
server-tools 254/254 0 0

passed = ran successfully but emits no JUnit counts (a lint/format gate).

View workflow run

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants