Open MatthijsBurgh opened 3 months ago
I'm experiencing the same issue, the job is cancelled after 55 minutes. But I can see some errors like this, after Dependabot job shows that a NPM dependency (I'm using yarn v3 in a monorepo) needs updates, and before it is cancelled:
updater | 2024/10/09 15:38:20 ERROR <job_898482526> Error processing webpack (Dependabot::DependabotError)
2024/10/09 15:38:20 ERROR <job_898482526> [YN0001]: Exception error, Detail: ➤ YN0000: ┌ Resolution step
Resolution step
➤ YN0000: └ Completed in 1s 207ms
➤ YN0000: ┌ Fetch step
Fetch step
➤ YN0000: └ Completed
➤ YN0000: ┌ Link step
Link step
➤ YN0073: │ Skipped due to mode=update-lockfile
➤ YN0000: └ Completed
Running `afterInstall` hook...
Usage Error: The project in /home/dependabot/dependabot-updater/repo/package.json doesn't seem to have been installed - running an install there might help
here is my dependabot.yml
file:
version: 2
registries:
github:
type: git
url: https://github.com
username: MY_USER
password: MY_PASSWORD
updates:
- package-ecosystem: "github-actions"
directory: "/"
registries: [github]
schedule:
interval: "weekly"
- package-ecosystem: "npm"
directories:
- "/"
- "/packages/*"
registries: [github]
schedule:
interval: "weekly"
labels:
- "yarn"
- "dependencies"
open-pull-requests-limit: 5
The timeout is due to the github actions runner timing out. The question is, why dependabot takes such amount of time to finish the update...
We have the same issue. In our case Dependabot stalls while trying to update NPM deps in our package.json only (all other Dependabot jobs run fine). In the logs we only see this at the end:
updater | 2024/10/18 02:16:54 INFO <job_902886252> Updating eslint from 8.57.1 to 9.12.0
proxy | 2024/10/18 02:16:57 [239] GET [https://registry.npmjs.org:443/typescript](https://registry.npmjs.org/typescript)
proxy | 2024/10/18 02:16:57 [239] 200 [https://registry.npmjs.org:443/typescript](https://registry.npmjs.org/typescript)
proxy | 2024/10/18 02:16:57 [241] GET [https://registry.npmjs.org:443/@angular-eslint%2feslint-plugin-template](https://registry.npmjs.org/@angular-eslint%2feslint-plugin-template)
proxy | 2024/10/18 02:16:57 [241] 200 [https://registry.npmjs.org:443/@angular-eslint%2feslint-plugin-template](https://registry.npmjs.org/@angular-eslint%2feslint-plugin-template)
proxy | 2024/10/18 02:16:57 [248] GET [https://registry.npmjs.org:443/axobject-query](https://registry.npmjs.org/axobject-query)
proxy | 2024/10/18 02:16:57 [250] GET [https://registry.npmjs.org:443/aria-query](https://registry.npmjs.org/aria-query)
proxy | 2024/10/18 02:16:57 [249] GET [https://registry.npmjs.org:443/@typescript-eslint%2ftype-utils](https://registry.npmjs.org/@typescript-eslint%2ftype-utils)
proxy | 2024/10/18 02:16:57 [251] GET [https://registry.npmjs.org:443/@angular-eslint%2fbundled-angular-compiler](https://registry.npmjs.org/@angular-eslint%2fbundled-angular-compiler)
proxy | 2024/10/18 02:16:57 [252] GET [https://registry.npmjs.org:443/@angular-eslint%2futils](https://registry.npmjs.org/@angular-eslint%2futils)
proxy | 2024/10/18 02:16:57 [253] GET [https://registry.npmjs.org:443/@typescript-eslint%2futils](https://registry.npmjs.org/@typescript-eslint%2futils)
proxy | 2024/10/18 02:16:57 [250] 200 [https://registry.npmjs.org:443/aria-query](https://registry.npmjs.org/aria-query)
proxy | 2024/10/18 02:16:57 [248] 200 [https://registry.npmjs.org:443/axobject-query](https://registry.npmjs.org/axobject-query)
proxy | 2024/10/18 02:16:57 [249] 200 [https://registry.npmjs.org:443/@typescript-eslint%2ftype-utils](https://registry.npmjs.org/@typescript-eslint%2ftype-utils)
proxy | 2024/10/18 02:16:57 [253] 200 [https://registry.npmjs.org:443/@typescript-eslint%2futils](https://registry.npmjs.org/@typescript-eslint%2futils)
proxy | 2024/10/18 02:16:57 [252] 200 [https://registry.npmjs.org:443/@angular-eslint%2futils](https://registry.npmjs.org/@angular-eslint%2futils)
proxy | 2024/10/18 02:16:57 [251] 200 [https://registry.npmjs.org:443/@angular-eslint%2fbundled-angular-compiler](https://registry.npmjs.org/@angular-eslint%2fbundled-angular-compiler)
proxy | 2024/10/18 02:17:50 Posting metrics to remote API endpoint
proxy | 2024/10/18 02:17:50 Successfully posted metrics data via api client
Error: The operation was canceled.
After the line proxy | 2024/10/18 02:17:50 Successfully posted metrics data via api client
(which is printed within 1 minute of starting the job) the job seems stalled and then times out after 55 minutes. No idea what is going on..
is there any progress with this? did someone found a workaround? I've tried different grouping config for different package managers, segment them so that there's not so much packages being updated in a single job, but no meaningful improvement.
For our repository, I notice that there's a lot of time between each group item check:
updater | 2024/11/18 21:45:08 INFO <job_918732360> No update needed for @graphql-codegen/cli 5.0.3
proxy | 2024/11/18 21:45:22 Posting metrics to remote API endpoint
proxy | 2024/11/18 21:45:22 Successfully posted metrics data via api client
updater | 2024/11/18 21:45:48 INFO <job_918732360> Checking if @graphql-codegen/near-operation-file-preset 3.0.0 needs updating
What's happening that could take 40s? That seems.to be the bottleneck resulting in our timeouts.
My guess is that the group logic is doing something (like resetting some state) in between group items, which probably could be skipped when nothing is updated. At least, that way, groups with no updates would not act as a bottleneck?
Note that our repository is a fairly big npm monorepo with a lockfile > 2MB.
I'm also experiencing an odd issue with this that I posted in another project: https://github.com/tinglesoftware/dependabot-azure-devops/issues/1477
At first I wasn't sure if this was just related to the Azure DevOps Dependabot extension and although in this case the immediate symptom is different because of the extension not using the OpenTelemetry collector, I imagine it's the same underlying issue.
My log file will just show the same message repeat once every minute until the task times out:
2024-11-21T17:39:19.7412979Z proxy | 2024/11/21 17:39:19 [338] 304 https://registry.npmjs.org:443/copy-webpack-plugin
2024-11-21T17:39:19.7428382Z proxy | 2024/11/21 17:39:19 [333] 304 https://registry.npmjs.org:443/@angular%2fbuild
2024-11-21T17:39:19.7428884Z proxy | 2024/11/21 17:39:19 [350] 304 https://registry.npmjs.org:443/@babel%2fplugin-transform-async-generator-functions
2024-11-21T17:39:25.9781336Z proxy | 2024/11/21 17:39:25 Skipping sending metrics because api endpoint is empty
2024-11-21T17:40:26.0233254Z proxy | 2024/11/21 17:40:26 Skipping sending metrics because api endpoint is empty
2024-11-21T17:41:25.9779535Z proxy | 2024/11/21 17:41:25 Skipping sending metrics because api endpoint is empty
2024-11-21T17:42:25.9788742Z proxy | 2024/11/21 17:42:25 Skipping sending metrics because api endpoint is empty
2024-11-21T17:43:25.9880733Z proxy | 2024/11/21 17:43:25 Skipping sending metrics because api endpoint is empty
2024-11-21T17:44:25.9777712Z proxy | 2024/11/21 17:44:25 Skipping sending metrics because api endpoint is empty
2024-11-21T17:45:26.0014469Z proxy | 2024/11/21 17:45:26 Skipping sending metrics because api endpoint is empty
2024-11-21T17:46:26.0033554Z proxy | 2024/11/21 17:46:26 Skipping sending metrics because api endpoint is empty
2024-11-21T17:47:26.0124146Z proxy | 2024/11/21 17:47:26 Skipping sending metrics because api endpoint is empty
2024-11-21T17:48:25.9778823Z proxy | 2024/11/21 17:48:25 Skipping sending metrics because api endpoint is empty
dependabot.yml
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
registries: "*"
target-branch: "deps"
assignees:
- "redacted"
groups:
all-dependencies:
patterns:
- "*"
commit-message:
prefix: "chore(deps)"
I opted to remove the groups/grouping and unfortunately it's the same behavior as before.
Is there an existing issue for this?
Package ecosystem
npm
Package manager version
No response
Language version
Node 18/20
Manifest location and content before the Dependabot update
package.json
dependabot.yml content
Updated dependency
No response
What you expected to see, versus what you actually saw
In my repo, https://github.com/tue-robotics/hero-display/, the dependabot run fails with a cancellation after 55min. This is consistent for all runs. (Todays run: https://github.com/tue-robotics/hero-display/actions/runs/10156215532/job/28084233111)
Native package manager behavior
No response
Images of the diff or a link to the PR, issue, or logs
Continuation of https://github.com/dependabot/dependabot-core/issues/9268
Smallest manifest that reproduces the issue
No response