feat(docker): ship ripgrep in the image
The coding agents Fusion drives reach for `rg` as their primary search tool. It was absent from the image, so inside a container they silently fall back to slower or partial search while working fine on a developer machine that has it installed. Operator asked for it by default. Installed alongside git and ca-certificates in the runner stage, and covered by the same runner-stage guard so it cannot quietly drop out again. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
7
.changeset/docker-ship-ripgrep.md
Normal file
7
.changeset/docker-ship-ripgrep.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
"@runfusion/fusion": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
summary: The Docker image now ships ripgrep, so coding agents can search at full speed in a container.
|
||||||
|
category: fix
|
||||||
|
dev: Adds `ripgrep` to the runner stage apt install alongside git and ca-certificates, and extends the runner-stage assertion in scripts/__tests__/dockerfile-workspace-manifests.test.mjs to cover it. Agents reach for `rg` first and silently degrade to slower or partial fallbacks when it is absent, which only shows up in the container because developer machines have it installed.
|
||||||
@@ -74,8 +74,11 @@ ENV PORT=4040
|
|||||||
# breaks project setup outright (operator report). It hid behind Node, which carries its own bundled
|
# breaks project setup outright (operator report). It hid behind Node, which carries its own bundled
|
||||||
# CA store: the dashboard, model APIs, and OAuth token exchanges all worked, so the image looked
|
# CA store: the dashboard, model APIs, and OAuth token exchanges all worked, so the image looked
|
||||||
# healthy right up until the first clone.
|
# healthy right up until the first clone.
|
||||||
|
# FNXC:DockerRun 2026-08-18-06:05: ripgrep ships by default because the coding agents Fusion drives
|
||||||
|
# reach for `rg` as their primary search tool; without it they silently degrade to slower/partial
|
||||||
|
# fallbacks inside the container while working fine on a developer machine that has it installed.
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y --no-install-recommends git ca-certificates \
|
&& apt-get install -y --no-install-recommends git ca-certificates ripgrep \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
RUN corepack enable && corepack prepare pnpm@10.33.0 --activate
|
RUN corepack enable && corepack prepare pnpm@10.33.0 --activate
|
||||||
|
|||||||
@@ -126,4 +126,9 @@ test("runner stage installs ca-certificates alongside git", () => {
|
|||||||
/\bca-certificates\b/,
|
/\bca-certificates\b/,
|
||||||
"runner stage must install ca-certificates — git cannot verify HTTPS remotes without a system CA bundle",
|
"runner stage must install ca-certificates — git cannot verify HTTPS remotes without a system CA bundle",
|
||||||
);
|
);
|
||||||
|
assert.match(
|
||||||
|
aptInstall,
|
||||||
|
/\bripgrep\b/,
|
||||||
|
"runner stage must install ripgrep — the coding agents Fusion drives use `rg` as their primary search tool",
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user