Conversation
When running `depot ci run`, the CLI generates a workspace patch via `git diff` to capture local changes. However, `git diff` only sees tracked files — new .depot/actions/ directories that haven't been staged or committed are invisible to the patch. This means users who create local composite actions and run `depot ci run` before `git add` get "action manifest not found" errors because the action files never make it to the sandbox. Fix by temporarily marking untracked .depot/ files with `git add -N` (intent-to-add) before generating the diff, then resetting the index immediately after. This makes new local actions visible to the patch without modifying the user's working tree or index state. Made-with: Cursor
121watts
approved these changes
Apr 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
depot ci runwas ghosting your local composite actions — if they weren'tgit add'd yet, they simply didn't exist as far as the workspace patch was concerned.What was happening
The CLI generates a workspace patch via
git diffto ship local changes to the sandbox. Butgit diffonly sees tracked files. If you create a new.depot/actions/my-action/directory and rundepot ci runbefore staging it, the action files are invisible to the diff — the patch gets uploaded without them, and the runner fails withaction manifest not found.What happens now
Before generating the diff, the CLI temporarily marks untracked
.depot/files withgit add -N(intent-to-add), making them visible togit diff. The index is reset immediately after the diff is captured. From the user's perspective, nothing changes —git statuslooks identical before and afterdepot ci run..depot/files)action manifest not found in .depot/actions/dep-4165-testPASS: Local composite action resolved and ran correctlyAnything else?
.depot/files are affected — untracked files outside that directory are never touchedgit add -Norgit resetfails, a warning is printed to stderr (no silent swallowing)Made with Cursor
Note
Medium Risk
Touches patch generation by temporarily modifying the git index (
add -N/reset) to capture untracked.depot/files; failures could leave unexpected index state or alter diff output in edge cases.Overview
depot ci runnow includes untracked files under.depot/(e.g., new local composite actions/workflows) in the workspace patch by temporarily marking them as intent-to-add before runninggit diff.Adds helpers to resolve the repo root, list untracked
.depot/files, and reliably reset the index afterward (with stderr warnings on failure), plus tests covering inclusion/exclusion behavior and ensuringdetectPatchleavesgit statusunchanged.Reviewed by Cursor Bugbot for commit 0345267. Bugbot is set up for automated code reviews on this repo. Configure here.