Skip to content

update scripts - #1372

Closed
shunkakinoki wants to merge 4 commits into
mainfrom
update-scripts
Closed

update scripts#1372
shunkakinoki wants to merge 4 commits into
mainfrom
update-scripts

Conversation

@shunkakinoki

@shunkakinoki shunkakinoki commented Apr 5, 2026

Copy link
Copy Markdown
Owner
  • feat: add uv-update target to upgrade global tool versions in pyproject.toml
  • Update worktrunk dependency and add cargo-update target to Makefile
  • feat: add update-lock target to update lock files for Nix, bun, Cargo, and uv tools

Summary by cubic

Add Makefile targets to update dependencies and lock files across Rust, Nix, Bun, and uv, bump worktrunk, and refresh the dotagents submodule. This streamlines keeping the toolchain current and regenerates lock files.

  • New Features

    • update-lock: Updates Nix flake, Bun deps, Cargo deps, and uv tool versions; refreshes lock files.
    • cargo-update: Updates Cargo dependencies to latest and regenerates Cargo.lock.
    • uv-update: Updates pyproject.toml global tool versions to the latest from PyPI.
  • Dependencies

    • Bumped worktrunk to 0.34.1; regenerated Cargo.lock with broad transitive updates.
    • Updated tools in pyproject.toml: mistral-vibe>=2.7.3, ruff>=0.15.9.
    • Updated dotagents submodule to the latest commit.

Written for commit 2c40108. Summary will update on new commits.

- Bumped worktrunk version from 0.33.0 to 0.34.1 in Cargo.toml.
- Added a new Makefile target 'cargo-update' to update Cargo dependencies to the latest version.
Copilot AI review requested due to automatic review settings April 5, 2026 13:32
@mesa-dot-dev

mesa-dot-dev Bot commented Apr 5, 2026

Copy link
Copy Markdown

You do not have enough credits to review this pull request. Please purchase more credits to continue.

@coderabbitai

coderabbitai Bot commented Apr 5, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

Updated dependencies across the project: worktrunk Cargo dependency bumped to 0.34.1, Python tools mistral-vibe and ruff minimum versions increased in pyproject.toml, and three new Makefile targets introduced for automated lockfile and tool version updates.

Changes

Cohort / File(s) Summary
Dependency Version Bumps
Cargo.toml, pyproject.toml
Updated worktrunk from 0.33.0 to 0.34.1; raised mistral-vibe from >=2.7.0 to >=2.7.3 and ruff from >=0.15.8 to >=0.15.9.
Makefile Update Targets
Makefile
Added update-lock target that orchestrates nix-flake-update, bun-update, cargo-update, and uv-update workflows; introduced cargo-update target running cargo +nightly update --breaking; introduced uv-update target to refresh Python tool versions from pyproject.toml's dependency-groups.tools.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

dependencies

Poem

🐰 Hop, hop! The versions leap so high,
Worktrunk bounds to 0.34, reaching sky!
Ruff and mistral-vibe shine ever bright,
New Makefile targets keep tools locked tight,
A rabbit's blessing—dependencies in flight! 🚀

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'update scripts' is vague and generic, using non-descriptive terms that don't convey what specific scripts or tools are being updated. Use a more specific title like 'Add update-lock target and bump dependencies' to clearly indicate the main changes in the PR.
✅ Passed checks (2 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The pull request description clearly outlines the changes: adding uv-update and cargo-update targets, an update-lock target, and bumping dependencies, all of which align with the actual changeset modifications.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch update-scripts

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 and usage tips.

@mesa-dot-dev

mesa-dot-dev Bot commented Apr 5, 2026

Copy link
Copy Markdown

Mesa Description

TL;DR

Adds Makefile targets to streamline dependency and lock file updates across Rust, Nix, Bun, and uv, and bumps key dependency versions.

What changed?

  • Cargo.lock: Updated to reflect changes in the project's dependency graph.
  • Cargo.toml: worktrunk dependency updated from 0.33.0 to 0.34.1.
  • Makefile: New phony targets added:
    • update-lock: Orchestrates updates for Nix, bun, Cargo, and uv lock files.
    • cargo-update: Updates Cargo dependencies.
    • uv-update: Updates uv global tool versions in pyproject.toml.
  • pyproject.toml: mistral-vibe bumped from 2.7.0 to 2.7.3, and ruff from 0.15.8 to 0.15.9.

Description generated by Mesa. Update settings

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@Makefile`:
- Around line 286-300: The uv-update target uses macOS-only sed syntax (sed -i
'') which breaks on GNU sed and also claims "reinstalled" without actually
reinstalling; change the sed invocation to a portable pattern (e.g., use sed
-i.bak ... then rm the .bak, or detect OS and use sed -i '' on Darwin and sed -i
on Linux) when editing pyproject.toml in the uv-update recipe, and after
updating the file invoke the project’s installation command to reinstall the
updated global tools (for example run the same installer used elsewhere such as
poetry install or the repo's tool-install script) so the "reinstalled" echo is
accurate; update references in the uv-update target and ensure you remove any
temporary backup file created.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: fbba0a82-1407-40e5-b02b-6f371ae6d6e6

📥 Commits

Reviewing files that changed from the base of the PR and between 7be7ae5 and 4dd7a10.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (3)
  • Cargo.toml
  • Makefile
  • pyproject.toml

Comment thread Makefile
Comment on lines +286 to +300
.PHONY: uv-update
uv-update: ## Update uv global tool versions in pyproject.toml to latest and reinstall.
@echo "📦 Updating uv global tool versions in pyproject.toml..."
@tomlq -r '.["dependency-groups"].tools[]' pyproject.toml | while read -r dep; do \
pkg=$$(echo "$$dep" | sed 's/>=.*//'); \
latest=$$(curl -sfL "https://pypi.org/pypi/$$pkg/json" | jq -r '.info.version'); \
if [ -n "$$latest" ] && [ "$$latest" != "null" ]; then \
echo "$$pkg: $$dep -> $$pkg>=$$latest"; \
sed -i '' "s|\"$$dep\"|\"$$pkg>=$$latest\"|" pyproject.toml; \
else \
echo "$$pkg: failed to fetch latest version, skipping..."; \
fi; \
done
@echo "✅ uv global tools updated in pyproject.toml and reinstalled"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

sed -i '' is macOS-specific; breaks on Linux.

The sed -i '' syntax (with a space before the empty string) works on macOS but fails on GNU/Linux sed, which requires sed -i (no argument) or sed -i'' (no space). Since this Makefile runs on both Darwin and Linux (per the OS detection logic), use a portable approach.

Additionally, line 299 says "reinstalled" but no reinstallation occurs—only the file is updated.

Proposed fix for cross-platform compatibility
 .PHONY: uv-update
 uv-update: ## Update uv global tool versions in pyproject.toml to latest and reinstall.
 	`@echo` "📦 Updating uv global tool versions in pyproject.toml..."
 	`@tomlq` -r '.["dependency-groups"].tools[]' pyproject.toml | while read -r dep; do \
 		pkg=$$(echo "$$dep" | sed 's/>=.*//'); \
 		latest=$$(curl -sfL "https://pypi.org/pypi/$$pkg/json" | jq -r '.info.version'); \
 		if [ -n "$$latest" ] && [ "$$latest" != "null" ]; then \
 			echo "$$pkg: $$dep -> $$pkg>=$$latest"; \
-			sed -i '' "s|\"$$dep\"|\"$$pkg>=$$latest\"|" pyproject.toml; \
+			if [ "$$(uname -s)" = "Darwin" ]; then \
+				sed -i '' "s|\"$$dep\"|\"$$pkg>=$$latest\"|" pyproject.toml; \
+			else \
+				sed -i "s|\"$$dep\"|\"$$pkg>=$$latest\"|" pyproject.toml; \
+			fi; \
 		else \
 			echo "$$pkg: failed to fetch latest version, skipping..."; \
 		fi; \
 	done
-	`@echo` "✅ uv global tools updated in pyproject.toml and reinstalled"
+	`@echo` "✅ uv global tools updated in pyproject.toml"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
.PHONY: uv-update
uv-update: ## Update uv global tool versions in pyproject.toml to latest and reinstall.
@echo "📦 Updating uv global tool versions in pyproject.toml..."
@tomlq -r '.["dependency-groups"].tools[]' pyproject.toml | while read -r dep; do \
pkg=$$(echo "$$dep" | sed 's/>=.*//'); \
latest=$$(curl -sfL "https://pypi.org/pypi/$$pkg/json" | jq -r '.info.version'); \
if [ -n "$$latest" ] && [ "$$latest" != "null" ]; then \
echo "$$pkg: $$dep -> $$pkg>=$$latest"; \
sed -i '' "s|\"$$dep\"|\"$$pkg>=$$latest\"|" pyproject.toml; \
else \
echo "$$pkg: failed to fetch latest version, skipping..."; \
fi; \
done
@echo "✅ uv global tools updated in pyproject.toml and reinstalled"
.PHONY: uv-update
uv-update: ## Update uv global tool versions in pyproject.toml to latest and reinstall.
`@echo` "📦 Updating uv global tool versions in pyproject.toml..."
`@tomlq` -r '.["dependency-groups"].tools[]' pyproject.toml | while read -r dep; do \
pkg=$$(echo "$$dep" | sed 's/>=.*//'); \
latest=$$(curl -sfL "https://pypi.org/pypi/$$pkg/json" | jq -r '.info.version'); \
if [ -n "$$latest" ] && [ "$$latest" != "null" ]; then \
echo "$$pkg: $$dep -> $$pkg>=$$latest"; \
if [ "$$(uname -s)" = "Darwin" ]; then \
sed -i '' "s|\"$$dep\"|\"$$pkg>=$$latest\"|" pyproject.toml; \
else \
sed -i "s|\"$$dep\"|\"$$pkg>=$$latest\"|" pyproject.toml; \
fi; \
else \
echo "$$pkg: failed to fetch latest version, skipping..."; \
fi; \
done
`@echo` "✅ uv global tools updated in pyproject.toml"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Makefile` around lines 286 - 300, The uv-update target uses macOS-only sed
syntax (sed -i '') which breaks on GNU sed and also claims "reinstalled" without
actually reinstalling; change the sed invocation to a portable pattern (e.g.,
use sed -i.bak ... then rm the .bak, or detect OS and use sed -i '' on Darwin
and sed -i on Linux) when editing pyproject.toml in the uv-update recipe, and
after updating the file invoke the project’s installation command to reinstall
the updated global tools (for example run the same installer used elsewhere such
as poetry install or the repo's tool-install script) so the "reinstalled" echo
is accurate; update references in the uv-update target and ensure you remove any
temporary backup file created.

@gemini-code-assist gemini-code-assist Bot left a comment

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.

Code Review

This pull request performs a significant update of the project's dependency tree, including version bumps in Cargo.toml and pyproject.toml, and extensive changes to Cargo.lock. It also introduces new Makefile targets: update-lock, cargo-update, and uv-update to automate dependency management. Review feedback highlights that the uv-update target's documentation is misleading as it lacks a reinstallation step, and the implementation uses a non-portable sed command that will fail on non-macOS systems.

Comment thread Makefile
Comment on lines +287 to +299
uv-update: ## Update uv global tool versions in pyproject.toml to latest and reinstall.
@echo "📦 Updating uv global tool versions in pyproject.toml..."
@tomlq -r '.["dependency-groups"].tools[]' pyproject.toml | while read -r dep; do \
pkg=$$(echo "$$dep" | sed 's/>=.*//'); \
latest=$$(curl -sfL "https://pypi.org/pypi/$$pkg/json" | jq -r '.info.version'); \
if [ -n "$$latest" ] && [ "$$latest" != "null" ]; then \
echo "$$pkg: $$dep -> $$pkg>=$$latest"; \
sed -i '' "s|\"$$dep\"|\"$$pkg>=$$latest\"|" pyproject.toml; \
else \
echo "$$pkg: failed to fetch latest version, skipping..."; \
fi; \
done
@echo "✅ uv global tools updated in pyproject.toml and reinstalled"

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.

medium

The help text for the uv-update target (line 287) and the final echo message (line 299) state that the tools are "reinstalled". However, the script only updates the versions in pyproject.toml and does not perform any reinstallation step.

This is misleading. You should either:

  1. Add the reinstallation command to the target to match the description.
  2. Update the help text and the echo message to accurately reflect that the target only updates the pyproject.toml file.

For example, you could change the help text to "Update uv global tool versions in pyproject.toml to latest." and the final echo to "✅ uv global tools updated in pyproject.toml".

Comment thread Makefile
Comment on lines +289 to +298
@tomlq -r '.["dependency-groups"].tools[]' pyproject.toml | while read -r dep; do \
pkg=$$(echo "$$dep" | sed 's/>=.*//'); \
latest=$$(curl -sfL "https://pypi.org/pypi/$$pkg/json" | jq -r '.info.version'); \
if [ -n "$$latest" ] && [ "$$latest" != "null" ]; then \
echo "$$pkg: $$dep -> $$pkg>=$$latest"; \
sed -i '' "s|\"$$dep\"|\"$$pkg>=$$latest\"|" pyproject.toml; \
else \
echo "$$pkg: failed to fetch latest version, skipping..."; \
fi; \
done

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.

medium

The sed -i '' command for in-place editing is specific to BSD/macOS sed and will fail on GNU/Linux systems, which expect sed -i without an argument. To ensure portability across different operating systems, you should handle both cases.

The Makefile already defines the OS variable, which you can use to conditionally execute the correct sed command.

	@tomlq -r '.["dependency-groups"].tools[]' pyproject.toml | while read -r dep; do \
		pkg=$$(echo "$$dep" | sed 's/>=.*//'); \
		latest=$$(curl -sfL "https://pypi.org/pypi/$$pkg/json" | jq -r '.info.version'); \
		if [ -n "$$latest" ] && [ "$$latest" != "null" ]; then \
			echo "$$pkg: $$dep -> $$pkg>=$$latest"; \
			if [ "$(OS)" = "Darwin" ]; then \
				sed -i '' "s|\"$$dep\"|\"$$pkg>=$$latest\"|" pyproject.toml; \
			else \
				sed -i "s|\"$$dep\"|\"$$pkg>=$$latest\"|" pyproject.toml; \
			fi; \
		else \
			echo "$$pkg: failed to fetch latest version, skipping..."; \
		fi; \
	done

Copilot AI left a comment

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.

Pull request overview

Adds automation for updating various tool/dependency lockfiles and bumps a few tracked tool versions.

Changes:

  • Bump uv “global tools” versions in pyproject.toml.
  • Add update-lock, cargo-update, and uv-update targets to the Makefile.
  • Upgrade worktrunk and refresh Cargo.lock accordingly.

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 6 comments.

File Description
pyproject.toml Updates tracked uv global tool minimum versions.
Makefile Introduces new update targets for lockfiles/tools (bun/Cargo/uv/Nix flake).
Cargo.toml Bumps worktrunk dependency version.
Cargo.lock Regenerates the Rust dependency lockfile after updates.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Makefile
Comment on lines +260 to +261
cargo-update: ## Update Cargo dependencies to latest and regenerate lock file.
@echo "📦 Updating Cargo dependencies..."

Copilot AI Apr 5, 2026

Copy link

Choose a reason for hiding this comment

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

cargo-update relies on nightly-only flags (+nightly, --breaking, -Z unstable-options). This will fail for contributors without a nightly toolchain installed and makes make update-lock unexpectedly depend on nightly. Consider switching to stable cargo update (or gating the nightly path behind a toolchain check / separate target) so the update flow works in the standard toolchain setup.

Suggested change
cargo-update: ## Update Cargo dependencies to latest and regenerate lock file.
@echo "📦 Updating Cargo dependencies..."
cargo-update: ## Update Cargo lock file using the stable toolchain.
@echo "📦 Updating Cargo dependencies..."
@cargo update
@echo "✅ Cargo dependencies updated"
.PHONY: cargo-update-breaking
cargo-update-breaking: ## Update Cargo dependencies with nightly-only breaking upgrades.
@echo "📦 Updating Cargo dependencies with nightly breaking upgrades..."

Copilot uses AI. Check for mistakes.
Comment thread Makefile
latest=$$(curl -sfL "https://pypi.org/pypi/$$pkg/json" | jq -r '.info.version'); \
if [ -n "$$latest" ] && [ "$$latest" != "null" ]; then \
echo "$$pkg: $$dep -> $$pkg>=$$latest"; \
sed -i '' "s|\"$$dep\"|\"$$pkg>=$$latest\"|" pyproject.toml; \

Copilot AI Apr 5, 2026

Copy link

Choose a reason for hiding this comment

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

uv-update rewrites pyproject.toml via sed using the raw dependency string ($$dep) as a regex search pattern and uses sed -i '' for in-place edits. This can break or mis-edit when dependency specs contain regex metacharacters, and the -i form is not consistently portable across environments. Consider escaping the search string (or using a TOML-aware edit via tomlq/Python), and handling in-place edits in an OS-portable way.

Suggested change
sed -i '' "s|\"$$dep\"|\"$$pkg>=$$latest\"|" pyproject.toml; \
python3 - "$$dep" "$$pkg" "$$latest" <<'PY'; \
import pathlib, sys; \
dep, pkg, latest = sys.argv[1:4]; \
path = pathlib.Path("pyproject.toml"); \
old = f'"{dep}"'; \
new = f'"{pkg}>={latest}"'; \
content = path.read_text(encoding="utf-8"); \
if old not in content: \
raise SystemExit(f"dependency entry not found: {dep}"); \
path.write_text(content.replace(old, new, 1), encoding="utf-8"); \
PY \

Copilot uses AI. Check for mistakes.
Comment thread Makefile
Comment on lines +286 to +288
.PHONY: uv-update
uv-update: ## Update uv global tool versions in pyproject.toml to latest and reinstall.
@echo "📦 Updating uv global tool versions in pyproject.toml..."

Copilot AI Apr 5, 2026

Copy link

Choose a reason for hiding this comment

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

The uv-update help text says it will update tool versions "...and reinstall", but the recipe currently only rewrites pyproject.toml and doesn't invoke any uv tool install/upgrade step. Either add the reinstall step (e.g., reuse home-manager/modules/uv-globals/install-uv-globals.sh) or adjust the help text so it matches behavior.

Copilot uses AI. Check for mistakes.
Comment thread Makefile
echo "$$pkg: failed to fetch latest version, skipping..."; \
fi; \
done
@echo "✅ uv global tools updated in pyproject.toml and reinstalled"

Copilot AI Apr 5, 2026

Copy link

Choose a reason for hiding this comment

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

This success message says the tools were "updated ... and reinstalled", but the target doesn't currently run any reinstall command. Consider updating the message to reflect what actually happened, or add the missing reinstall step so the output is accurate.

Suggested change
@echo "✅ uv global tools updated in pyproject.toml and reinstalled"
@echo "✅ uv global tool versions updated in pyproject.toml"

Copilot uses AI. Check for mistakes.
Comment thread Cargo.toml
Comment on lines 9 to +12
[dependencies]
git-ai = { git = "https://github.com/git-ai-project/git-ai", branch = "main" }
rtk = { git = "https://github.com/rtk-ai/rtk", branch = "master" }
worktrunk = "0.33.0"
worktrunk = "0.34.1"

Copilot AI Apr 5, 2026

Copy link

Choose a reason for hiding this comment

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

Cargo.lock includes additional updates to git dependencies (e.g., git-ai, rtk) beyond the worktrunk bump shown here. If those lockfile changes are intentional, please call them out in the PR description; otherwise consider regenerating the lockfile in a way that only reflects the intended worktrunk upgrade to keep the diff scoped.

Copilot uses AI. Check for mistakes.
Comment thread Makefile
update: nix-update neovim-update gitalias-update llm-update overlays-update ## Update Nix flake, overlays, Neovim plugins, LLM configs, gitalias, and bun deps

.PHONY: update-lock
update-lock: nix-flake-update bun-update cargo-update uv-update ## Update lock files for Nix flake, bun, Cargo, and uv global tools.

Copilot AI Apr 5, 2026

Copy link

Choose a reason for hiding this comment

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

update-lock is described as updating lock files, but uv-update currently edits pyproject.toml (a manifest), not a lockfile. Consider either renaming the target/description to reflect that it updates manifests too, or adjusting the uv step to update an actual uv lock artifact if one exists in this repo.

Suggested change
update-lock: nix-flake-update bun-update cargo-update uv-update ## Update lock files for Nix flake, bun, Cargo, and uv global tools.
update-lock: nix-flake-update bun-update cargo-update uv-update ## Update lock files for Nix flake, bun, and Cargo, and refresh uv global tool manifests/dependencies.

Copilot uses AI. Check for mistakes.

@cubic-dev-ai cubic-dev-ai Bot left a comment

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.

2 issues found across 4 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="Makefile">

<violation number="1" location="Makefile:294">
P2: `sed -i ''` is macOS/BSD-specific and will fail on GNU/Linux, which expects `sed -i` (no argument) or `sed -i''` (no space). Since this Makefile already detects the OS, use a conditional to pick the correct invocation.</violation>

<violation number="2" location="Makefile:299">
P3: The message says "reinstalled" but the target only updates `pyproject.toml` — no reinstallation step is performed. Change to "✅ uv global tools updated in pyproject.toml".</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Comment thread Makefile
latest=$$(curl -sfL "https://pypi.org/pypi/$$pkg/json" | jq -r '.info.version'); \
if [ -n "$$latest" ] && [ "$$latest" != "null" ]; then \
echo "$$pkg: $$dep -> $$pkg>=$$latest"; \
sed -i '' "s|\"$$dep\"|\"$$pkg>=$$latest\"|" pyproject.toml; \

@cubic-dev-ai cubic-dev-ai Bot Apr 5, 2026

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: sed -i '' is macOS/BSD-specific and will fail on GNU/Linux, which expects sed -i (no argument) or sed -i'' (no space). Since this Makefile already detects the OS, use a conditional to pick the correct invocation.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At Makefile, line 294:

<comment>`sed -i ''` is macOS/BSD-specific and will fail on GNU/Linux, which expects `sed -i` (no argument) or `sed -i''` (no space). Since this Makefile already detects the OS, use a conditional to pick the correct invocation.</comment>

<file context>
@@ -274,6 +283,21 @@ overlays-update: ## Upgrade all custom overlays to latest versions.
+		latest=$$(curl -sfL "https://pypi.org/pypi/$$pkg/json" | jq -r '.info.version'); \
+		if [ -n "$$latest" ] && [ "$$latest" != "null" ]; then \
+			echo "$$pkg: $$dep -> $$pkg>=$$latest"; \
+			sed -i '' "s|\"$$dep\"|\"$$pkg>=$$latest\"|" pyproject.toml; \
+		else \
+			echo "$$pkg: failed to fetch latest version, skipping..."; \
</file context>
Suggested change
sed -i '' "s|\"$$dep\"|\"$$pkg>=$$latest\"|" pyproject.toml; \
if [ "$(OS)" = "Darwin" ]; then \
sed -i '' "s|\"$$dep\"|\"$$pkg>=$$latest\"|" pyproject.toml; \
else \
sed -i "s|\"$$dep\"|\"$$pkg>=$$latest\"|" pyproject.toml; \
fi; \
Fix with Cubic

Comment thread Makefile
echo "$$pkg: failed to fetch latest version, skipping..."; \
fi; \
done
@echo "✅ uv global tools updated in pyproject.toml and reinstalled"

@cubic-dev-ai cubic-dev-ai Bot Apr 5, 2026

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.

P3: The message says "reinstalled" but the target only updates pyproject.toml — no reinstallation step is performed. Change to "✅ uv global tools updated in pyproject.toml".

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At Makefile, line 299:

<comment>The message says "reinstalled" but the target only updates `pyproject.toml` — no reinstallation step is performed. Change to "✅ uv global tools updated in pyproject.toml".</comment>

<file context>
@@ -274,6 +283,21 @@ overlays-update: ## Upgrade all custom overlays to latest versions.
+			echo "$$pkg: failed to fetch latest version, skipping..."; \
+		fi; \
+	done
+	@echo "✅ uv global tools updated in pyproject.toml and reinstalled"
+
 ##@ Nix Setup
</file context>
Suggested change
@echo "✅ uv global tools updated in pyproject.toml and reinstalled"
@echo "✅ uv global tools updated in pyproject.toml"
Fix with Cubic

shunkakinoki added a commit that referenced this pull request Apr 5, 2026
* fix: resolve upgrade CI failure from dotagents sync target collision

Closes #1372

* fix: batch bun global installs to prevent resolution hang

bun hangs when resolving too many packages at once in a single
bun add --global call. Install in batches of 10 instead.
@shunkakinoki
shunkakinoki deleted the update-scripts branch April 6, 2026 04:15
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