Changesetsの公開処理をpublishスクリプトで行うと失敗してしまう
•2 min read
こちら (opens in a new tab)の自作パッケージのバージョニングのためにChangesets (opens in a new tab)を使っているのですが、npmに公開するためのGitHub Actionsワークフローが失敗する問題がありました。

公開処理のログを見てみると以下のようなメッセージが記載されており、なぜかすでにnpmに公開されているようです。
You cannot publish over the previously published versions: x.y.z.
また、ワークフローは失敗しているのに、確かにnpmを見ると新しいバージョンが公開されていました。

これらの状況から、公開処理が2回実行されており、2回目の実行でエラーが出ているのではないかと思いました。ChangesetsのIssueを調べてみると、こちらのIssue (opens in a new tab)が関係してそうです。これによると、publishスクリプトで公開するように設定していると2回実行されてしまうようです。
"scripts": {
"publish": "changeset publish",
},以下のように、publish以外のスクリプト名に変更すると、ワークフローが失敗することなく公開できるようになります。
"scripts": {
"release": "changeset publish",
},