Skip to content

fix(cursor-env): prefetch-only install, persist PATH - #115

Merged
rmems merged 2 commits into
mainfrom
fix/cursor-env-prefetch-only
Oct 5, 2026
Merged

rmems merged 2 commits into
mainfrom
fix/cursor-env-prefetch-only

Conversation

@rmems

@rmems rmems commented Oct 5, 2026 •

Copy link
Copy Markdown
Owner

User description

Summary

Cloud Agent environment builds were failing when main had red CI because .cursor/install.sh ran fmt, clippy, and full test execution during snapshot install. Install now only fetches, compiles, and builds test binaries without running tests.

Changes

  • .cursor/install.sh: Keep Rust 1.99.0 check; run cargo fetch --locked, cargo build --all-features --locked, and cargo test --no-run --all-features --locked. Removed fmt, clippy, and test-execution gates.
  • .cursor/Dockerfile: Persist toolchain on PATH via /etc/profile.d/cargo.sh, symlink /usr/local/cargo/bin/* into /usr/local/bin, and chown /usr/local/cargo and /usr/local/rustup to ubuntu.

Validation

Cited by: Cloud Env Steward (Grok Bot)


Devin Review


Summary by cubic

Fixes Cloud Agent environment builds that failed when main had red CI because .cursor/install.sh ran fmt, clippy, and the full test suite during snapshot install. Install now only fetches, compiles, and builds test binaries without executing them.

  • .cursor/install.sh keeps the Rust 1.99.0 check but replaces fmt, clippy, and test execution with cargo fetch --locked, cargo build --all-features --locked, and cargo test --no-run --all-features --locked.
  • .cursor/Dockerfile redeclares the RUST_VERSION build arg after FROM, persists the toolchain on PATH via /etc/profile.d/cargo.sh, symlinks cargo binaries into /usr/local/bin, and chowns /usr/local/cargo and /usr/local/rustup to the ubuntu user.

Written for commit 0fd65c6. Summary will update on new commits.

Review in cubic


CodeAnt-AI Description

Avoid CI checks blocking Cloud Agent setup

What Changed

  • Cloud Agent setup downloads dependencies and compiles the project without running formatting, lint, or test checks.
  • Rust commands remain available to the Ubuntu user after login.

Impact

✅ Fewer Cloud Agent setup failures
✅ Shorter Cloud Agent setup
✅ Rust commands available in agent sessions

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

Summary by CodeRabbit

  • Chores
    • Rust development environments now have Cargo and Rustup configured and available from the command line.
    • The setup process builds the project with all features enabled and compiles tests without running them. Formatting checks, Clippy, and test execution are no longer part of this setup step.

Co-authored-by: Raul Cardenas Montoya <montoyaraul34@gmail.com>
@codeant-ai

codeant-ai Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

🤖 CodeAnt AI — Review Status

Status Commit Started (UTC) Finished (UTC)
✅ Reviewed your PR afe69c2 Oct 05, 2026 · 20:32 20:34

@codeant-ai

codeant-ai Bot commented Oct 5, 2026

Copy link
Copy Markdown

Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@coderabbitai

coderabbitai Bot commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Repository: rmems/engram-parser/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: b9939f8c-2b61-4d66-a326-8d9925be13ee

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: rmems/engram-parser/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: b7e8cb7c-88af-46f3-a2b2-403402b28e21
📥 Commits

Reviewing files that changed from the base of the PR and between f02c935 and afe69c2.

📒 Files selected for processing (2)
  • .cursor/Dockerfile
  • .cursor/install.sh

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The development container now configures Cargo and Rustup paths. Its install script runs a locked all-features build and compiles all-features tests without executing them.

Changes

Rust development environment

Layer / File(s) Summary
Configure Cargo and Rustup environment
.cursor/Dockerfile
The Dockerfile sets CARGO_HOME and RUSTUP_HOME, adds the Rust toolchain bin directory to PATH, writes environment exports to /etc/profile.d/cargo.sh, links Cargo binaries under /usr/local/bin, and changes ownership of the Cargo and Rustup directories. The profile script uses the Rust 1.99.0 toolchain path.
Build and compile tests
.cursor/install.sh
The install script replaces formatting and Clippy checks and executed all-features tests with a locked all-features build and test compilation without execution.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to afe69

The configured environment retains access to its Rust commands, and CI continues to run the checks omitted from setup. No actionable merge-blocking risk is established.

Architecture Summary

Architecture risk: 🔵 Low · up to afe69

The changed surface does not map to a changed system, dependency edge, entrypoint, or external dependency.

Changed systems: None identified.

Architecture concerns
No architecture-level concerns identified.

Review details

Before / after behavior

  • observed — Modified behavior in .cursor/Dockerfile: The environment now sets CARGO_HOME and RUSTUP_HOME and includes the Rust toolchain bin directory in PATH; previously, only the locale variable was added in this span.
  • observed — Modified behavior in .cursor/Dockerfile: A build step now writes Cargo and Rustup environment exports to /etc/profile.d/cargo.sh, with the toolchain path hardcoded to Rust 1.99.0. It then makes the script readable, symlinks Cargo binaries into /usr/local/bin, and assigns the Cargo and Rustup directories to ubuntu:ubuntu.
  • observed — Modified behavior in .cursor/install.sh: The comment now describes a prefetch-and-compile workflow instead of matching CI formatting, Clippy, and test gates.
  • observed — Modified behavior in .cursor/install.sh: The script replaces formatting and Clippy checks and executed all-features tests with a locked all-features build and compilation of all-features tests without running them.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main changes: the Cursor install script now prefetches and compiles without running checks, and the environment persists the Rust toolchain path.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codeant-ai codeant-ai Bot added the size:S This PR changes 10-29 lines, ignoring generated files label Oct 5, 2026
amazon-q-developer[bot]

This comment was marked as resolved.

@rmems rmems self-assigned this Oct 5, 2026
@rmems rmems added ci docker dx repo:engram-parser size:XS This PR changes 0-9 lines, ignoring generated files and removed size:XS This PR changes 0-9 lines, ignoring generated files labels Oct 5, 2026
devin-ai-integration[bot]

This comment was marked as resolved.

@codeant-ai

codeant-ai Bot commented Oct 5, 2026

Copy link
Copy Markdown

CodeAnt Nitpicks

1 code suggestion

1. --all-features excludes tests gated by not(feature = &quot;safetensors&quot;), so the default-feature test binaries are not prebuilt and default test runs still require compilation.

Incomplete implementation · .cursor/install.sh:12-13

sentry[bot]

This comment was marked as resolved.

@kilo-code-bot

kilo-code-bot Bot commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Overview

Incremental review of commit 0fd65c6 (since previous review at afe69c2). The single changed file, .cursor/Dockerfile, correctly resolves the previously reported ARG-scoping defect:

  • ARG RUST_VERSION redeclared after FROM (line 8) inherits the global default or --build-arg value, so ENV PATH (line 15) now expands to the real toolchain directory in non-login shells.
  • The /etc/profile.d/cargo.sh PATH line (line 34) uses a double-quoted printf argument: ${RUST_VERSION} expands at build time and \$PATH is preserved literally for runtime shells. This is the correct expansion strategy.
  • Previous findings (hardcoded 1.99.0 in PATH, empty RUST_VERSION in ENV) are fixed in this commit; no new issues found on changed lines.
  • .cursor/install.sh is unchanged in this increment and had no prior findings.
Files Reviewed (1 file)
  • .cursor/Dockerfile
Previous Review Summary (commit afe69c2)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit afe69c2)

Status: No Issues Found | Recommendation: Merge

Files Reviewed (2 files)
  • .cursor/Dockerfile
  • .cursor/install.sh

Reviewed by free · Input: 54.7K · Output: 10.2K · Cached: 152.3K

Review guidance: REVIEW.md from base branch main (truncated)

Co-authored-by: Raul Cardenas Montoya <montoyaraul34@gmail.com>
@rmems
rmems merged commit 353a1db into main Oct 5, 2026
17 checks passed
@linear-code

linear-code Bot commented Oct 5, 2026

Copy link
Copy Markdown

RM-2026

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

Labels

ci docker dx repo:engram-parser size:S This PR changes 10-29 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants