conventional-github-releaser 没有选择 CHANGELOG.md 作为 Github 发布描述

conventional-github-releaser doesn't pick up CHANGELOG.md as Github release description

我正在使用 standard-version(版本 9.3.2)来管理我的 npm 包的版本,以及生成一个 CHANGELOG.md。这看起来很好用。

除此之外,我想在版本标签推送到 git 时创建一个 Github 版本。所以我创建了以下 Github 操作:

name: Continuous deployment (NPM)

on:
  push:
    tags:
      - v*

jobs:
  build-and-deploy:
    name: Build and deploy NPM package
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repo
        uses: actions/checkout@v2

      - name: Configure node for npmjs.org as registry
        uses: actions/setup-node@v2
        with:
          node-version: '16.x'
          registry-url: 'https://registry.npmjs.org'

      - name: Install dependencies
        run: npm ci

      - run: npm run release:create-github-release
        env:
          CONVENTIONAL_GITHUB_RELEASER_TOKEN: ${{secrets.GITHUB_TOKEN}}

      - name: Publish package on npmjs.org
        run: npm publish --access public
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

有一个步骤我调用 npm run release:create-github-release,它运行 "release:create-github-release": "conventional-github-releaser -p angular"。生成了一个版本,但不幸的是它不包含之前生成的 CHANGELOG.md 并且在 运行 提到的 Github 操作时提交到存储库。它看起来像这样:

我的问题是:为什么 conventional-github-releaser 不接我的 CHANGELOG.md

整个项目可以在这里找到:https://github.com/openscript-ch/gatsby-plugin-i18n-l10n

感谢您的任何建议。

以下可能是猜测(基于我阅读的关于 conventional-github-releaseractions/checkout 的文档),所以我不是 100% 确定:

当您使用 actions/checkout@v2 时,它设置为默认值 fetch-depth: 1,这会对您的存储库进行浅层检出,即默认情况下获取单个提交(顺便说一下,您也可以在 GHA 中看到这一点,我附上快照),这很可能是 conventional-github-releaser 无法获取 CHANGELOG.md 的先前内容的原因,因为该命令仅“...根据提交生成 GitHub 版本,因为最后一个 semver 标签……”。当您将其明确设置为 fetch-depth: 0 时,它会获取所有分支和标签的所有 git 历史记录。尝试让我知道,因为我对结果很感兴趣。

参考文献: