Lernaは、Githubアクションのワークフローの実行中にパッケージの変更を正しく検出しません。
パッケージに関連する変更を行わない場合は、コミットしてrunlerna updated
locallyを実行します。それは私に教えてくれます変更されたパッケージは見つかりませんでしたこれは正しい予想です。
パッケージ関連の変更を行う場合は、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"
}
}
}
うわー-同じ問題の修正がようやく見つかったとは信じられません-とても感謝しています!
私はこれを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
再度、感謝します!多くの時間を節約し、迷惑な問題を修正するのを助けてくれました。私もこれで他の人を助けたいと思います。乾杯