From c997c6120a38f201ba6c347a8bd4523ba6a2e825 Mon Sep 17 00:00:00 2001 From: Go Kudo Date: Tue, 28 Jul 2026 05:13:58 +0900 Subject: [PATCH] fix(coverage): copy the shard instead of moving a root-owned file 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 --- .github/workflows/ci_coverage.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci_coverage.yaml b/.github/workflows/ci_coverage.yaml index 846370a..cb471cc 100644 --- a/.github/workflows/ci_coverage.yaml +++ b/.github/workflows/ci_coverage.yaml @@ -86,12 +86,13 @@ jobs: path: ext/ - name: Build container and run coverage run: | + rm -f "ext/.gitkeep" docker compose build \ --build-arg TAG="${{ matrix.versions }}-${{ matrix.ts }}-trixie" \ --build-arg SKIP_VALGRIND=1 \ shell docker compose run --rm shell pskel coverage - mv "ext/lcov.info" "${{ matrix.platform }}_${{ matrix.versions }}_${{ matrix.ts }}_lcov.info" + cp "ext/lcov.info" "${{ matrix.platform }}_${{ matrix.versions }}_${{ matrix.ts }}_lcov.info" - name: Upload coverage artifact uses: actions/upload-artifact@v7 with: