From 64b18d28235127c60d5780de0cbebed285ad7362 Mon Sep 17 00:00:00 2001 From: Nguyen Minh Phuc Date: Tue, 21 Jul 2026 06:02:30 +0000 Subject: [PATCH] ci: set UV_LINK_MODE=copy to stop the hardlink warning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Every uv job logged this five times a run: warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance. The uv cache lives on the runner's cache volume and the venv is on the job container's filesystem, so hardlinking cannot work and uv copies all 86 packages regardless. Declaring `copy` does not make anything slower — it is already copying — it removes a warning that appears in every green run, and a warning nobody can act on is one that teaches people to skim CI logs. Found by reading the logs of a passing run rather than a failing one. The Dockerfiles already set this; CI did not. --- .gitea/workflows/ci.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index a25235b..6322158 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -28,6 +28,17 @@ env: REGISTRY: gitea.oci-oci.duckdns.org IMAGE_NS: gitea_admin UV_VERSION: "0.11.29" + # Every uv job logged this, five times a run: + # + # warning: Failed to hardlink files; falling back to full copy. This may lead to + # degraded performance. + # + # The uv cache (the runner's cache volume) and the target venv are on different + # filesystems here, so hardlinking cannot work and uv copies 86 packages anyway. Saying + # `copy` up front does not make it slower — it is already copying — it just stops the + # warning from being noise that trains people to skim CI logs. The Dockerfiles set the + # same variable for the same reason. + UV_LINK_MODE: copy GITLEAKS_VERSION: "8.30.1" GITLEAKS_SHA256: "e4a487ee7ccd7d3a7f7ec08657610aa3606637dab924210b3aee62570fb4b080"