From 463c2bd0eb1409774c5ce056ee97fc6be08bbe02 Mon Sep 17 00:00:00 2001 From: Alex Date: Mon, 15 Jun 2026 00:51:13 +0800 Subject: [PATCH] ci: check out repo on the coverage job so Codecov can map paths (fixes REPORT_EMPTY) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Codecov's uploader builds its file network from the workspace git tree; the job had no actions/checkout (the lib loads via xsh load), leaving the workspace empty → every upload was REPORT_EMPTY. alexzhangs/xsh works because it checks out. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/ci.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 79edf7f..7028c98 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,6 +29,15 @@ jobs: - { os: ubuntu-latest, container: '', shell_path: /usr/bin/zsh, label: zsh-5.x-linux } steps: + # Codecov's uploader builds its file "network" by scanning the workspace git + # tree; without a checkout the workspace is empty and every upload is rejected + # as REPORT_EMPTY ("received the network and no coverage data"). The test suite + # loads the lib via `xsh load`, so this checkout exists ONLY so Codecov can map + # the coverage paths to source. Only the coverage job needs it. + - name: Check out repository (Codecov source mapping) + if: matrix.coverage + uses: actions/checkout@v5 + # rockylinux:8 (bash 4.4) is a minimal image — install git first (needed # to clone xsh), then the tools xsh + the test suite use. - name: Pre-install git (rockylinux container)