Skip to content

ci(release-local): stop macOS builds from picking up a broken system Python - #1810

Merged
AnishSarkar22 merged 1 commit into
MODSetter:devfrom
AnishSarkar22:hotpatch/macos-sqlite-package
Sep 18, 2026
Merged

AnishSarkar22 merged 1 commit into
MODSetter:devfrom
AnishSarkar22:hotpatch/macos-sqlite-package

Conversation

@AnishSarkar22

@AnishSarkar22 AnishSarkar22 commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator

actions/setup-python's macOS interpreter has SQLite extension loading compiled out, so uv could grab it instead of its own capable managed Python during uv sync. sqlite_vec needs enable_load_extension, so the frozen api/worker binaries crashed on startup on every Mac. Drop the redundant setup-python step and pin UV_PYTHON_PREFERENCE=only-managed so uv never considers a PATH-found interpreter.

What

Why

Fixes #

How to test

High-level PR Summary

This PR fixes a macOS build issue where the frozen API and worker binaries were crashing on startup. The problem occurred because actions/setup-python provides a Python interpreter with SQLite extension loading disabled, which is required by sqlite_vec. The fix removes the redundant setup-python step and sets UV_PYTHON_PREFERENCE=only-managed to ensure uv always uses its own managed Python interpreter with SQLite extension support enabled.

⏱️ Estimated Review Time: 5-15 minutes

💡 Review Order Suggestion
Order File Path
1 .github/workflows/release-local.yml

Need help? Join our Discord

Summary by CodeRabbit

  • Chores
    • Updated the local release process to consistently use the managed Python environment.
    • Removed the separate Python setup step from the release workflow.

…Python

actions/setup-python's macOS interpreter has SQLite extension loading
compiled out, so uv could grab it instead of its own capable managed
Python during `uv sync`. sqlite_vec needs enable_load_extension, so the
frozen api/worker binaries crashed on startup on every Mac. Drop the
redundant setup-python step and pin UV_PYTHON_PREFERENCE=only-managed
so uv never considers a PATH-found interpreter.
@vercel

vercel Bot commented Sep 18, 2026

Copy link
Copy Markdown

@AnishSarkar22 is attempting to deploy a commit to the Rohan Verma's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Sep 18, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: d8b4a179-2ce0-4985-938b-e07892019cac

📥 Commits

Reviewing files that changed from the base of the PR and between 6295c53 and 52a5bb6.

📒 Files selected for processing (1)
  • .github/workflows/release-local.yml

Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

The release workflow now forces uv to use its managed Python and removes the separate Python 3.12 setup step.

Changes

Release workflow

Layer / File(s) Summary
Managed Python selection
.github/workflows/release-local.yml
Sets UV_PYTHON_PREFERENCE: only-managed at job level and removes the actions/setup-python@v6 step that installed Python 3.12.

Priority: ➖ Normal

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Bug fix

Suggested reviewers: credo23

Merge Risk: ⚪ Minimal · up to 52a5b

The release workflow no longer depends on the removed setup step and should use the managed Python required by the build.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
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 0…
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.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the main change: preventing macOS release builds from using an unsuitable Python interpreter. It matches the workflow changes and the PR objective.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Create a new PR

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.

@AnishSarkar22
AnishSarkar22 marked this pull request as ready for review September 18, 2026 15:59
@AnishSarkar22
AnishSarkar22 merged commit 087ba1e into MODSetter:dev Sep 18, 2026
9 of 12 checks passed
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.

1 participant