From 3235e74979cd76f4ebd7a51fa31e0e53bd332d3c Mon Sep 17 00:00:00 2001 From: oratis Date: Sat, 8 Aug 2026 22:18:48 +0800 Subject: [PATCH] ci: give the release-notes job full git history MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit v0.3.0 shipped with a release body reading "0 commits." actions/checkout is shallow by default, so the fetched commit has no parents and `git rev-list --max-parents=0 HEAD` returns HEAD itself. The range is then empty and gen-release-notes has nothing to walk. It looks correct when run locally, where the clone is complete — which is why this passed a manual check before the tag. Only the github-release job reads history; the other four checkouts stay shallow. Co-Authored-By: Claude Opus 5 --- .github/workflows/release.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 65e83f7..7daa17c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -371,7 +371,13 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 10 steps: + # Full history: gen-release-notes walks the commit range. A shallow + # clone makes the root-commit lookup return HEAD itself, so the range + # comes out empty and the release body reads '0 commits.' — which is + # exactly what v0.3.0 shipped with. - uses: actions/checkout@v7 + with: + fetch-depth: 0 - uses: pnpm/action-setup@v6 - uses: actions/setup-node@v7 with: