web-dev-qa-db-ja.com

Lernaは常に、Githubアクションのワークフローを実行するときに公開する準備ができているすべてのパッケージをリストします

Lernaは、Githubアクションのワークフローの実行中にパッケージの変更を正しく検出しません。

  1. パッケージに関連する変更を行わない場合は、コミットしてrunlerna updatedlocallyを実行します。それは私に教えてくれます変更されたパッケージは見つかりませんでしたこれは正しい予想です。

  2. パッケージ関連の変更を行う場合は、lerna updatedをローカルでコミットして実行します。それは私が発見したことを教えてくれますxパッケージは公開の準備ができていますこれも正しく、期待されています。

ただし、1 or 2に基づいてコミットをプッシュすると、githubアクションワークフローでlerna updatedを実行するステップで、すべてのパッケージを公開できると常に通知/一覧表示されますが、これは間違っています。

なぜそれを修正するのですか???

パッケージに関連する変更を行わなかった場合にローカルで表示されるもの

lerna notice cli v3.20.2
lerna info versioning independent
lerna info Looking for changed packages since @xxx/[email protected]
lerna info No changed packages found

Githubへの変更に関連するnoneパッケージを一時停止した後のワークフローログに表示されるもの

> lerna updated -l

lerna notice cli v3.20.2
lerna info versioning independent
lerna info Assuming all packages changed
@xxx/bar  v2.3.4 packages/Bar
@xxx/foo  v1.4.4 packages/Foo
@xxx/hulk v1.0.4 packages/Hulk
lerna success found 3 packages ready to publish

これが私のワークフローです

name: Publish
on:
  Push:
    branches:
      - master
jobs:
  unit-test:
    name: UnitTest
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v1
        with:
          node-version: 12
      - run: npm ci
      - run: npm test

  publish:
    name: Publish NPM Packages
    needs: unit-test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v1
        with:
          node-version: 12
          registry-url: https://registry.npmjs.org/
      - run: npm ci
      - run: git config --global user.email "xxx"
      - run: git config --global user.name "xxx"
      - run: npm run updated
        env:
          NODE_AUTH_TOKEN: ${{secrets.NPM_AUTH_TOKEN}}

これは私のpackage.jsonです

{
  "name": "root",
  "devDependencies": {
    "jest": "^25.1.0",
    "lerna": "^3.20.2"
  },
  "scripts": {
    "updated": "lerna updated -l",
    "test": "jest"
  }
}

これが私のlerna設定です

{
  "packages": [
    "packages/*"
  ],
  "version": "independent",
  "command": {
    "publish": {
      "allowBranch": "master",
      "conventionalCommits": true,
      "message": "chore(release): updated release notes and package versions"
    }
  }
}
3
eded

うわー-同じ問題の修正がようやく見つかったとは信じられません-とても感謝しています!

私はこれをgithubアクション(特に@ actions/checkout)の大きな問題と見なしているため、ここで通知しました: https://github.com/actions/checkout/issues/217

ここでlernaの人々にも情報を提供しました: https://github.com/lerna/lerna/issues/2542

およびsemantic-releaseここの人々: https://github.com/semantic-release/semantic-release/issues/1526

再度、感謝します!多くの時間を節約し、迷惑な問題を修正するのを助けてくれました。私もこれで他の人を助けたいと思います。乾杯

0
Kipras