helloadhavan/github_issues huggingface dataset:
Repository: ollama/ollama
Pull request: logs: catch rocm errors

This will help bubble up more crash errors with the details instead of a generic message

example scenario on windows before this change.  Client sees:
```
llm_image_test.go:74: failed to load model qwen3-vl:8b: 500 Internal Server Error: do load request: Post "http://127.0.0.1:57617/load": read tcp 127.0.0.1:57621->127.0.0.1:57617: wsarecv: An existing connection was forcibly closed by the remote host.
```

server logs: (most likely an OOM)
```
time=2025-10-30T19:19:12.705-07:00 level=DEBUG source=vocabulary.go:52 msg="adding bos token to prompt" id=0
ROCm error: invalid argument
  current device: 0, in function ggml_cuda_op_mul_mat at C:/a/ollama/ollama/ml/backend/ggml/ggml/src/ggml-cuda/ggml-cuda.cu:1718
  hipMemsetAsync(dev[id].src0_dd + nbytes_data, 0, nbytes_padding, stream)
C:/a/ollama/ollama/ml/backend/ggml/ggml/src/ggml-cuda/ggml-cuda.cu:88: ROCm error
time=2025-10-30T19:19:12.811-07:00 level=INFO source=device.go:212 msg="model weights" device=ROCm0 size="5.3 GiB"
time=2025-10-30T19:19:12.811-07:00 level=INFO source=device.go:217 msg="model weights" device=CPU size="292.4 MiB"
time=2025-10-30T19:19:12.811-07:00 level=INFO source=device.go:223 msg="kv cache" device=ROCm0 size="224.0 MiB"
time=2025-10-30T19:19:12.811-07:00 level=INFO source=device.go:234 msg="compute graph" device=ROCm0 size="2.0 GiB"
time=2025-10-30T19:19:12.811-07:00 level=INFO source=device.go:239 msg="compute graph" device=CPU size="16.8 MiB"
time=2025-10-30T19:19:12.811-07:00 level=INFO source=device.go:244 msg="total memory" size="7.8 GiB"
time=2025-10-30T19:19:12.811-07:00 level=INFO source=sched.go:446 msg="Load failed" model=C:\Users\daniel\.ollama\models\blobs\sha256-a99b7f834d754b88f122d865f32758ba9f0994a83f8363df2c1e71c17605a025 error="do load request: Post \"http://127.0.0.1:57481/load\": read tcp 127.0.0.1:57485->127.0.0.1:57481: wsarecv: An existing connection was forcibly closed by the remote host."
time=2025-10-30T19:19:12.811-07:00 level=DEBUG source=server.go:1699 msg="stopping llama server" pid=17712
time=2025-10-30T19:19:12.826-07:00 level=ERROR source=server.go:273 msg="llama runner terminated" error="exit status 0xc0000409"
```

Changed files:
filename: llm/status.go
patch: @@ -23,6 +23,7 @@ func NewStatusWriter(out *os.File) *StatusWriter {
 var errorPrefixes = []string{
 	"error:",
 	"CUDA error",
+	"ROCm error",
 	"cudaMalloc failed",
 	"\"ERR\"",
 	"error loading model",
Repository: rust-lang/rust
Pull request: Add missing num_internals feature gate to coretests/benches

This will allow getting rid of the patch at https://github.com/rust-lang/rustc_codegen_cranelift/blob/main/patches/0030-sysroot_tests-Add-missing-feature-gate.patch

Changed files:
filename: library/coretests/benches/lib.rs
patch: @@ -8,7 +8,9 @@
 #![feature(iter_array_chunks)]
 #![feature(iter_next_chunk)]
 #![feature(iter_advance_by)]
+#![feature(num_internals)]
 #![feature(uint_gather_scatter_bits)]
+#![allow(internal_features)]
 
 extern crate test;
Repository: ollama/ollama
Pull request: embeddings: removed redundant test

This PR removes a redundant test from  **TestAPIEmbeddings** 
Contents of this test already exists in 
- **embed_test.go** (vector equality/token counts) 
- **model_arch_test.go**

Changed files:
filename: integration/api_test.go
patch: @@ -381,30 +381,3 @@ func TestAPIShowModel(t *testing.T) {
 		t.Errorf("%s missing modified_at: %#v", modelName, resp)
 	}
 }
-
-func TestAPIEmbeddings(t *testing.T) {
-	ctx, cancel := context.WithTimeout(context.Background(), 1*time.Minute)
-	defer cancel()
-	client, _, cleanup := InitServerConnection(ctx, t)
-	defer cleanup()
-	req := api.EmbeddingRequest{
-		Model:  libraryEmbedModels[0],
-		Prompt: "why is the sky blue?",
-		Options: map[string]interface{}{
-			"temperature": 0,
-			"seed":        123,
-		},
-	}
-
-	if err := PullIfMissing(ctx, client, req.Model); err != nil {
-		t.Fatalf("pull failed %s", err)
-	}
-
-	resp, err := client.Embeddings(ctx, &req)
-	if err != nil {
-		t.Fatalf("embeddings call failed %s", err)
-	}
-	if len(resp.Embedding) == 0 {
-		t.Errorf("zero length embedding response")
-	}
-}
Repository: ollama/ollama
Pull request: win: avoid ID mixups on refresh

On Windows AMD IDs are numeric, and can reorder based on the filter environment. By passing in the filter env on a full discovery refresh, we'll only look at the actual devices and ignore unsupported iGPUs.  Without this, on some systems iGPU VRAM information was incorrectly being used to populate the dGPU.

Fixes #12564 
Fixes #12754 

Changed files:
filename: discover/runner.go
patch: @@ -335,11 +335,14 @@ func GPUDevices(ctx context.Context, runners []ml.FilteredRunnerDiscovery) []ml.
 			ctx, cancel := context.WithTimeout(ctx, 3*time.Second)
 			defer cancel()
 
+			// Apply any dev filters to avoid re-discovering unsupported devices, and get IDs correct
+			devFilter := ml.GetVisibleDevicesEnv(devices)
+
 			for dir := range libDirs {
-				updatedDevices := bootstrapDevices(ctx, []string{LibOllamaPath, dir}, nil)
+				updatedDevices := bootstrapDevices(ctx, []string{LibOllamaPath, dir}, devFilter)
 				for _, u := range updatedDevices {
 					for i := range devices {
-						if u.DeviceID == devices[i].DeviceID {
+						if u.DeviceID == devices[i].DeviceID && u.PCIID == devices[i].PCIID {
 							updated[i] = true
 							devices[i].FreeMemory = u.FreeMemory
 							break
Repository: nodejs/node
Pull request: doc: fix small logic error in DETECT_MODULE_SYNTAX

Super pedantic, but the case where a source parses as ESM but doesn't contain any ESM-only syntax currently falls off the end of the algorithm without a resolution.

Changed files:
filename: doc/api/esm.md
patch: @@ -1274,7 +1274,7 @@ _isImports_, _conditions_)
 >    2. If _source_ contains a top-level lexical declaration (`const`, `let`,
 >       or `class`) of any of the CommonJS wrapper variables (`require`,
 >       `exports`, `module`, `__filename`, or `__dirname`) then return **true**.
-> 3. Else return **false**.
+> 3. Return **false**.
 
 ### Customizing ESM specifier resolution algorithm
Repository: rust-lang/rust
Pull request: Avoid prematurely choosing a glob import

Fixes rust-lang/rust#153842

Use the following without introducing trait to explain:
```rust
mod a {
    pub use crate::x::y as x; // single import #1
}

mod b {
    pub mod x {
        pub mod y {}
    }
}

use a::x; // single import #2
use b::*; // glob import #3

fn main() {}
```

In current implementation, when `#1` is first resolved, `crate::x` is temporarily taken from glob import `#3` as `crate::b::x`. This happens because `single_import_can_define_name` will see that `#2` cannot define `x` (because it depends on `#1` and `#1` is ignored) and then return `false`. Later, during finalization, `crate::x` in `#1` resolves through single import `#2` instead, which no longer matches the initially cached module `crate::b::x` and triggers the ICE.

I think the resolver should keep this unresolved because `#2` may still define `x` to avoid prematurely choosing a glob import.

r? petrochenkov

Changed files:
filename: compiler/rustc_resolve/src/ident.rs
patch: @@ -1373,7 +1373,7 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
                 &single_import.parent_scope,
                 None,
                 ignore_decl,
-                ignore_import,
+                None,
             ) {
                 Err(Determined) => continue,
                 Ok(binding)

filename: tests/ui/imports/inconsistent-resolution-153842.rs
patch: @@ -0,0 +1,17 @@
+mod a {
+    pub use crate::s::Trait as s;
+    //~^ ERROR cannot determine resolution for the import
+    //~| ERROR cannot determine resolution for the import
+    //~| ERROR unresolved imports `crate::s::Trait`, `a::s`
+}
+
+mod b {
+    pub mod s {
+        pub trait Trait {}
+    }
+}
+
+use a::s;
+use b::*;
+
+fn main() {}

filename: tests/ui/imports/inconsistent-resolution-153842.stderr
patch: @@ -0,0 +1,26 @@
+error: cannot determine resolution for the import
+  --> $DIR/inconsistent-resolution-153842.rs:2:13
+   |
+LL |     pub use crate::s::Trait as s;
+   |             ^^^^^^^^^^^^^^^^^^^^
+
+error: cannot determine resolution for the import
+  --> $DIR/inconsistent-resolution-153842.rs:2:13
+   |
+LL |     pub use crate::s::Trait as s;
+   |             ^^^^^^^^^^^^^^^^^^^^
+   |
+   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
+
+error[E0432]: unresolved imports `crate::s::Trait`, `a::s`
+  --> $DIR/inconsistent-resolution-153842.rs:2:13
+   |
+LL |     pub use crate::s::Trait as s;
+   |             ^^^^^^^^^^^^^^^^^^^^
+...
+LL | use a::s;
+   |     ^^^^
+
+error: aborting due to 3 previous errors
+
+For more information about this error, try `rustc --explain E0432`.
Repository: vercel/next.js
Pull request: Ensure we only run main test mode with custom deploy script

This ensures we don't try running both webpack and turbopack suites or the report/PR jobs when a custom deploy script is provided. 

Changed files:
filename: .github/workflows/test_e2e_deploy_release.yml
patch: @@ -79,6 +79,7 @@ jobs:
   test-deploy-webpack:
     name: Run Deploy Tests (Webpack)
     needs: setup
+    if: ${{ github.event.inputs.deployScriptPath == '' }}
     uses: ./.github/workflows/build_reusable.yml
     secrets: inherit
     strategy:
@@ -137,6 +138,8 @@ jobs:
         NEXT_EXTERNAL_TESTS_FILTERS="test/deploy-tests-manifest.json" \
         NEXT_TEST_VERSION="${{ github.event.inputs.nextVersion || needs.setup.outputs.next-version || 'canary' }}" \
         VERCEL_CLI_VERSION="${{ github.event.inputs.vercelCliVersion || 'vercel@latest' }}" \
+        NEXT_TEST_DEPLOY_SCRIPT_PATH="${{ github.event.inputs.deployScriptPath || '' }}" \
+        NEXT_TEST_DEPLOY_LOGS_SCRIPT_PATH="${{ github.event.inputs.deployLogsScriptPath || '' }}" \
         node run-tests.js --timings -g ${{ matrix.group }} -c 2 --type e2e
       skipNativeBuild: 'yes'
       skipNativeInstall: 'no'
@@ -189,7 +192,7 @@ jobs:
 
   report-test-results-to-datadog:
     needs: [test-deploy-turbopack, test-deploy-webpack]
-    if: ${{ always() }}
+    if: ${{ always() && github.event.inputs.deployScriptPath == '' }}
 
     runs-on: ubuntu-latest
     name: Report test results to datadog
@@ -280,7 +283,7 @@ jobs:
   update-prs:
     name: Update prs as ready for review
     needs: [test-deploy-turbopack, test-deploy-webpack, create-draft-prs]
-    if: ${{ needs.test-deploy-webpack.result == 'success' &&  needs.test-deploy-turbopack.result == 'success' && github.repository_owner == 'vercel' && github.event_name == 'release' }}
+    if: ${{ (needs.test-deploy-webpack.result == 'success' || needs.test-deploy-webpack.result == 'skipped') && needs.test-deploy-turbopack.result == 'success' && github.repository_owner == 'vercel' && github.event_name == 'release' }}
     runs-on: ubuntu-latest
     strategy:
       fail-fast: false
Repository: nodejs/node
Pull request: doc: fix module.stripTypeScriptTypes indentation

The method description got squished into the returns field.

Changed files:
filename: doc/api/module.md
patch: @@ -259,12 +259,13 @@ changes:
     * `'strip'` Only strip type annotations without performing the transformation of TypeScript features.
   * `sourceUrl` {string}  Specifies the source url used in the source map.
 * Returns: {string} The code with type annotations stripped.
-  `module.stripTypeScriptTypes()` removes type annotations from TypeScript code. It
-  can be used to strip type annotations from TypeScript code before running it
-  with `vm.runInContext()` or `vm.compileFunction()`.
-  By default, it will throw an error if the code contains TypeScript features
-  that require transformation such as `Enums`,
-  see [type-stripping][] for more information.
+
+`module.stripTypeScriptTypes()` removes type annotations from TypeScript code. It
+can be used to strip type annotations from TypeScript code before running it
+with `vm.runInContext()` or `vm.compileFunction()`.
+
+By default, it will throw an error if the code contains TypeScript features
+that require transformation, such as `enum`s. See [type-stripping][] for more information.
 
 _WARNING_: The output of this function should not be considered stable across Node.js versions,
 due to changes in the TypeScript parser.
Repository: ollama/ollama
Pull request: win: use copy for subprocess logs

windows gets confused when we try to hand the stderr file descriptor to the subprocess children.  This ensures the log output always shows up.


Prior to this change, logs would appear with the following workaround:
```powershell
$env:OLLAMA_DEBUG="2"
ollama serve 2>&1 | % ToString | tee-object serve.log
```

Changed files:
filename: llm/server.go
patch: @@ -339,8 +339,23 @@ func StartRunner(ollamaEngine bool, modelPath string, gpuLibs []string, out io.W
 	cmd = exec.Command(exe, params...)
 
 	cmd.Env = os.Environ()
-	cmd.Stdout = out
-	cmd.Stderr = out
+
+	if out != nil {
+		stdout, err := cmd.StdoutPipe()
+		if err != nil {
+			return nil, 0, fmt.Errorf("failed to spawn server stdout pipe: %w", err)
+		}
+		stderr, err := cmd.StderrPipe()
+		if err != nil {
+			return nil, 0, fmt.Errorf("failed to spawn server stderr pipe: %w", err)
+		}
+		go func() {
+			io.Copy(out, stdout) //nolint:errcheck
+		}()
+		go func() {
+			io.Copy(out, stderr) //nolint:errcheck
+		}()
+	}
 	cmd.SysProcAttr = LlamaServerSysProcAttr
 
 	// Always filter down the set of GPUs in case there are any unsupported devices that might crash
Repository: huggingface/transformers
Pull request: [Bugfix] fix qwen3.5 no split module

# What does this PR do?

Fix the attr `_no_split_modules` of `Qwen3_5Model` and `Qwen3_5MoeModel`, which affect the FSDP init of hf Trainer.

Changed files:
filename: src/transformers/models/qwen3_5/modeling_qwen3_5.py
patch: @@ -1407,7 +1407,7 @@ class Qwen3_5Model(Qwen3_5PreTrainedModel):
     # Reference: fix gemma3 grad acc #37208
     accepts_loss_kwargs = False
     config: Qwen3_5Config
-    _no_split_modules = ["Qwen3_5TextDecoderLayer", "Qwen3_5VisionBlock"]
+    _no_split_modules = ["Qwen3_5DecoderLayer", "Qwen3_5VisionBlock"]
 
     def __init__(self, config):
         super().__init__(config)

filename: src/transformers/models/qwen3_5/modular_qwen3_5.py
patch: @@ -694,6 +694,8 @@ def forward(
 
 
 class Qwen3_5Model(Qwen3VLModel):
+    _no_split_modules = ["Qwen3_5DecoderLayer", "Qwen3_5VisionBlock"]
+
     def get_video_features(
         self,
         **super_kwargs,

filename: src/transformers/models/qwen3_5_moe/modeling_qwen3_5_moe.py
patch: @@ -1532,7 +1532,7 @@ class Qwen3_5MoeModel(Qwen3_5MoePreTrainedModel):
     # Reference: fix gemma3 grad acc #37208
     accepts_loss_kwargs = False
     config: Qwen3_5MoeConfig
-    _no_split_modules = ["Qwen3_5MoeTextDecoderLayer", "Qwen3_5MoeVisionBlock"]
+    _no_split_modules = ["Qwen3_5MoeDecoderLayer", "Qwen3_5MoeVisionBlock"]
 
     def __init__(self, config):
         super().__init__(config)
Repository: nodejs/node
Pull request: doc: update DEP0040 (punycode) to application type deprecation

Refs: https://github.com/nodejs/node/issues/61901#issuecomment-3934754672

## Situation

[DEP0040: node:punycode module](https://nodejs.org/docs/latest/api/deprecations.html#DEP0040) is listed as [Runtime deprecation](https://nodejs.org/docs/latest/api/deprecations.html#deprecated-apis) since v21.0.0.

This is missing the change applied by PR https://github.com/nodejs/node/pull/56632 to [v23.7.0](https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V23.md#2025-01-30-version-2370-current-aduh95), backported also to [v22.14.0](https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V22.md#2025-02-11-version-22140-jod-lts-aduh95), which changed to [Application deprecation](https://nodejs.org/docs/latest/api/deprecations.html#deprecated-api) (non-`node_modules` code only).

## Change

Update [DEP0040](https://nodejs.org/docs/latest/api/deprecations.html#DEP0040) to

Type: Application (non-`node_modules` code only)

with History change in

- [v23.7.0](https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V23.md#2025-01-30-version-2370-current-aduh95)
- [v22.14.0](https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V22.md#2025-02-11-version-22140-jod-lts-aduh95)

through PR https://github.com/nodejs/node/pull/56632

Changed files:
filename: doc/api/deprecations.md
patch: @@ -932,6 +932,11 @@ The [`require.extensions`][] property is deprecated.
 
 <!-- YAML
 changes:
+  - version:
+    - v23.7.0
+    - v22.14.0
+    pr-url: https://github.com/nodejs/node/pull/56632
+    description: Application deprecation.
   - version: v21.0.0
     pr-url: https://github.com/nodejs/node/pull/47202
     description: Runtime deprecation.
@@ -943,7 +948,7 @@ changes:
     description: Documentation-only deprecation.
 -->
 
-Type: Runtime
+Type: Application (non-`node_modules` code only)
 
 The [`punycode`][] module is deprecated. Please use a userland alternative
 instead.
Repository: facebook/react
Pull request: devtools: fix ellipsis truncation for key values

before
<img width="349" height="73" alt="Screenshot 2025-10-09 at 11 38 03" src="https://github.com/user-attachments/assets/93fec45d-4ef2-498f-9550-36ff807b63f9" />

after
<img width="349" height="73" alt="Screenshot 2025-10-09 at 11 38 39" src="https://github.com/user-attachments/assets/cb279384-4229-4d56-a803-93c2df897754" />


Changed files:
filename: packages/react-devtools-shared/src/devtools/views/Components/Element.js
patch: @@ -181,9 +181,7 @@ export default function Element({data, index, style}: Props): React.Node {
               className={styles.KeyValue}
               title={key}
               onDoubleClick={handleKeyDoubleClick}>
-              <pre>
-                <IndexableDisplayName displayName={key} id={id} />
-              </pre>
+              <IndexableDisplayName displayName={key} id={id} />
             </span>
             "
           </Fragment>
@@ -196,9 +194,7 @@ export default function Element({data, index, style}: Props): React.Node {
               className={styles.KeyValue}
               title={nameProp}
               onDoubleClick={handleKeyDoubleClick}>
-              <pre>
-                <IndexableDisplayName displayName={nameProp} id={id} />
-              </pre>
+              <IndexableDisplayName displayName={nameProp} id={id} />
             </span>
             "
           </Fragment>
Repository: rust-lang/rust
Pull request: enzyme submodule update

<!-- homu-ignore:start -->
<!--
If this PR is related to an unstable feature or an otherwise tracked effort,
please link to the relevant tracking issue here. If you don't know of a related
tracking issue or there are none, feel free to ignore this.

This PR will get automatically assigned to a reviewer. In case you would like
a specific user to review your work, you can assign it to them by using

    r? <reviewer name>
-->
<!-- homu-ignore:end -->

Brings a bugfix for https://github.com/EnzymeAD/Enzyme/issues/2492, which had shown up in multiple independent Rust programs.

r? @oli-obk  

Changed files:
filename: src/tools/enzyme
patch: @@ -1 +1 @@
-Subproject commit 0b86a6759e5f250d6691a94a4a779a44d846e25b
+Subproject commit 324402444ac48874d8ebd3ac767330bdc7cb1c06
Repository: ollama/ollama
Pull request: qwen3vl: enable flash attention by default


Changed files:
filename: fs/ggml/ggml.go
patch: @@ -895,8 +895,8 @@ func (f GGML) FlashAttention() bool {
 	return slices.Contains([]string{
 		"gemma3",
 		"gptoss", "gpt-oss",
-		"qwen3",
-		"qwen3moe",
+		"qwen3", "qwen3moe",
+		"qwen3vl", "qwen3vlmoe",
 	}, f.KV().String("general.architecture"))
 }
Repository: vercel/next.js
Pull request: Fix middleware case with adapters

Follow-up to https://github.com/vercel/next.js/pull/90611 this fixes the middleware case to ensure it doesn't create a `_next/data` output. 

x-ref: https://github.com/vercel/next.js/actions/runs/22465910596/job/65075127711#step:34:302

Changed files:
filename: packages/next/src/build/adapter/build-complete.ts
patch: @@ -771,7 +771,10 @@ export async function handleBuildComplete({
             pathname: rscPathname,
             id: page.name + '.rsc',
           })
-        } else if (serverPropsPages.has(pathname)) {
+        } else if (
+          type !== AdapterOutputType.MIDDLEWARE &&
+          serverPropsPages.has(pathname)
+        ) {
           const nextDataPath = path.posix.join(
             '/_next/data/',
             buildId,
Repository: nodejs/node
Pull request: tools: revert tools GHA workflow to ubuntu-latest

The update script for undici [requires Docker](https://github.com/nodejs/node/pull/54128), which is not available on `ubuntu-slim`.

---

Workflow is currently failing, e.g. https://github.com/nodejs/node/actions/runs/22267523399/job/64416376200#step:6:14
```
failed to connect to the docker API at unix:///var/run/docker.sock; check if the path is correct and if the daemon is running: dial unix /var/run/docker.sock: connect: no such file or directory
node:child_process:1000
    throw err;
    ^

Error: Command failed: docker info -f "{{.OSType}}/{{.Architecture}}"
failed to connect to the docker API at unix:///var/run/docker.sock; check if the path is correct and if the daemon is running: dial unix /var/run/docker.sock: connect: no such file or directory
```

<!--
Before submitting a pull request, please read:

- the CONTRIBUTING guide at https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md
- the commit message formatting guidelines at
  https://github.com/nodejs/node/blob/HEAD/doc/contributing/pull-requests.md#commit-message-guidelines

For code changes:
1. Include tests for any bug fixes or new features.
2. Update documentation if relevant.
3. Ensure that `make -j4 test` (UNIX), or `vcbuild test` (Windows) passes.

If you believe this PR should be highlighted in the Node.js CHANGELOG
please add the `notable-change` label.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.
-->


Changed files:
filename: .github/workflows/tools.yml
patch: @@ -53,7 +53,8 @@ permissions:
 jobs:
   tools-deps-update:
     if: github.repository == 'nodejs/node' || github.event_name == 'workflow_dispatch'
-    runs-on: ubuntu-slim
+    # cannot use ubuntu-slim here because some update scripts require Docker
+    runs-on: ubuntu-latest
     strategy:
       fail-fast: false  # Prevent other jobs from aborting if one fails
       matrix: