0

我已经设置了 github 操作以在 PR 上针对developmentmain. 然后在工作流程中我有一个任务如下:

if [ ${{ github.base_ref }} = development ]; then
  npx lerna version --conventional-prerelease --preid beta --yes
else
  npx lerna version --conventional-graduate --yes
fi

基本上是发布一个 beta 版本,然后development在 PR 反对该分支时发布,同时从最后一个 beta 版本毕业并从mainPR 反对main分支时发布。这很好用,除非在使 beta 版本毕业时development保持其最后一个 beta 版本,同时main升级到毕业的生产版本(例如development是 1.0.1-beta.0main而是 1.0.1)。CHANGELOG.mdBeta版毕业时的内容也有所不同。这种行为会导致maindevelopment不同步,因为CHANGELOG.md和生产版本main永远不会传播到development分支中。你如何解决这个问题?

主意

每次 beta 毕业后main重新合并。development这与git潮流背道而驰。

这是lerna.json

{
  "packages": [
    "packages/*"
  ],
  "version": "independent",
  "publishConfig": {
    "access": "public"
  },
  "command": {
    "publish": {
      "conventionalCommits": true,
      "verifyAccess": false,
      "commitHooks": false,
      "ignoreChanges": [
        "*.md",
        "*(\\.|-)test.ts"
      ],
      "version": {
        "message": "chore(release): version and release commit"
      }
    }
  }
}
4

0 回答 0