fix: suppress uv hardlink warning with UV_LINK_MODE=copy#453
Open
fix: suppress uv hardlink warning with UV_LINK_MODE=copy#453
Conversation
When running as a GitHub Action, the uv cache and target .venv directory end up on different filesystems (container overlay vs host mount), causing uv to emit a noisy warning on every run. Setting UV_LINK_MODE=copy tells uv to use copy mode directly, suppressing the warning. Signed-off-by: Zack Koppert <zkoppert@github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR suppresses uv’s recurring hardlink fallback warning in the GitHub Action container by configuring uv to use copy mode.
Changes:
- Set
UV_LINK_MODE=copyin the Dockerfile to avoid hardlink attempts (and the associated warning) when cache and target directories are on different filesystems.
Show a summary per file
| File | Description |
|---|---|
| Dockerfile | Adds ENV UV_LINK_MODE=copy so uv run uses copy mode and stops emitting the hardlink fallback warning. |
Copilot's findings
- Files reviewed: 1/1 changed files
- Comments generated: 1
Comment on lines
30
to
+31
| ENV PYTHONUNBUFFERED=1 | ||
| ENV UV_LINK_MODE=copy |
There was a problem hiding this comment.
This introduces a new environment variable (UV_LINK_MODE) in the action image. Per the repo guideline to document environment variable changes in README.md, please add a short note explaining why this is set (suppress hardlink warning when cache/venv are on different filesystems) and its impact (forces copy mode).
jmeridth
approved these changes
Apr 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposed Changes
When running as a GitHub Action, the uv cache and target
.venvdirectory end up on different filesystems (container overlay vs host mount), causing uv to emit a noisy warning on every run:Adding
ENV UV_LINK_MODE=copyto the Dockerfile tells uv to use copy mode directly, suppressing the warning.This is the same fix applied in github-community-projects/pr-conflict-detector#65.
Testing
docker build- image builds successfully with the new env varReadiness Checklist
Author/Contributor
make lintand fix any issues that you have introducedmake testand ensure you have test coverage for the lines you are introducing