turbo: `turbo-ignore` can't find a commit, even though it exists

What version of Turborepo are you using?

1.5.2

What package manager are you using / does the bug impact?

pnpm

What operating system are you using?

Linux

Describe the Bug

OS is Mac, but CI is on Linux.

When trying to deploy something, I am getting an errorg from turbo-ignore.

Expected Behavior

I am expecting, that turbo-ignore works, and does not continue to deploy the app (because there was no change).

The commit, that is reference is available though.

To Reproduce

Hard to tell, if this is reproducable. I will try to get something up and running, until then, here is the log:



Cloning github.com/xxx/xxx (Branch: preview, Commit: fd30856)
--
09:37:08.089 | Cloning completed: 1.284s
09:37:08.091 | Running "npx turbo-ignore"
09:37:09.198 | npx: installed 1 in 1.023s
09:37:09.215 | ≫ Using Turborepo to determine if this project is affected by the commit...
09:37:09.216 | ≫ Inferred `@x/marketing` as scope from "/vercel/path0/apps/marketing/package.json"
09:37:09.217 | ≫ Found previous deployment for project
09:37:09.217 | ≫ Analyzing results of `npx turbo run build --filter=@x/marketing...[89bed4ad4dd822d40934ee113bb34f0c2d0e7f9f] --dry=json`...
09:37:12.287 | exec error: Error: Command failed: npx turbo run build --filter=@bauhow/marketing...[89bed4ad4dd822d40934ee113bb34f0c2d0e7f9f] --dry=json
09:37:12.287 | ERROR  run failed: failed to resolve packages to run: commit 89bed4ad4dd822d40934ee113bb34f0c2d0e7f9f does not exist

EDIT:

Just attaching the image, showing that the commit is there:

CleanShot 2022-10-18 at 09 47 40@2x

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 16 (10 by maintainers)

Most upvoted comments

Not completely related but I was having an issue running npx turbo-ignore in a github action.

Leaving my problem and solution here incase anyone else with the same issue stumbles across this thread.

When running npx turbo-ignore in a github action I was getting:

≫   UNKNOWN_ERROR: Error: Command failed: npx turbo run "test" --filter=frontend...[HEAD^] --dry=json
 ERROR  run failed: failed to resolve packages to run: git error: fatal: ambiguous argument 'HEAD^...HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

Turns out by default actions/checkout@v3 only has access to a single commit so git could not compare the current commit against a previous commit.

Fixed by passing fetch-depth: 0 to actions/checkout@v3 - fetches entire git history making previous commits accessible.

https://github.com/actions/checkout#fetch-all-history-for-all-tags-and-branches

We had to pause roll out because of side effects. As a consequence of that, you will need to set VERCEL_DEEP_CLONE to make sure that you have enough commits on the build box in order for it to complete the comparison.

This is a consequence of the default cloned depth being 10.

Literally working on this right now. No ETA (has to roll out) but 🔜

@iduuck I recommend leaving your implementation as is; it will automatically start working with the ideal outcomes when we resolve the other issue.

I’m going to close this issue as there is nothing to do here.