fix(coverage): copy the shard instead of moving a root-owned file - #83
Merged
Conversation
The capture inside the container leaves ext/lcov.info owned by root on the runner, and mv from the runner user failed with EPERM. cp only needs read access and produces a runner-owned shard, so use it instead. Also drop the checkout-restored ext/.gitkeep marker before the run so the container does not needlessly re-initialize the downloaded extension sources. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Summary
Fixes the
Coverage / coveragefailure on main (mv: cannot move 'ext/lcov.info' ...: Permission denied). The capture succeeded, but the file written by the container (root) could not be moved by the runner user.cponly needs read access and produces a runner-owned shard, so the collection step uses it instead. The checkout-restoredext/.gitkeepmarker is also removed before the run so the container does not needlessly re-initialize the downloaded extension sources.The other failure in the same run (
Linux_Emulated s390x 8.4 zts alpine— Setup QEMU step) was another transient Docker Hub connection timeout, unrelated to any change; the post-merge run will retry it.🤖 Generated with Claude Code