Auto: npmプラグインはpackage.jsonのバージョンをバンプしません

作成日 2020年10月21日  ·  14コメント  ·  ソース: intuit/auto

バグを説明する

プレリリースブランチで(yarn/npx) auto shipitを実行している場合、 package.jsonは更新されません。
その場合、 (yarn/npx) auto shipit --dry-run --quietは正しいバージョン番号を報告していません。
これにより、バージョン番号がDockerイメージやその他のアーティファクトのタグ付けに使用されるため、ダウンストリームで問題が発生します。

再現するには

  1. nextコミットする
  2. auto shipitはGithubアクションで実行されます
  3. autoがgithubに正しくリリースされました
  4. パッケージjsonは更新されませんでした

予想される行動

package.jsonが更新されるか、 auto shipit --dry-runがプレリリースのタグに基づいて計算されます。

環境情報:
「現在のバージョン」はここではすでに間違っています。現在のタグはv0.2.0-next.11です。

yarn run v1.22.10
$ /home/rwa/Project/####/node_modules/.bin/auto info

Environment Information:

"auto" version: v9.59.1
"git"  version: v2.29.0
"node" version: v14.14.0

Project Information:

✔ Repository:      #####
✔ Author Name:     Robert Wawrzyniak
✔ Author Email:    robert.wawrzyniak@###.de
✔ Current Version: v0.2.0-next.10
✔ Latest Release:  v0.1.0 (​https://github.com/####/releases/tag/v0.1.0​)

✔ Labels configured on GitHub project

GitHub Token Information:

✔ Token:            [Token starting with 62de]
✔ Repo Permission:  admin
✔ User:             thuringia
✔ API:              undefined (​undefined​)
✔ Enabled Scopes:   repo
✔ Rate Limit:       4772/5000

Done in 3.39s.
Time: 0h:00m:04s

追加のコンテキスト
これは#1490に関連している可能性がありますか?

これは仕様によるもののようです。
https://github.com/intuit/auto/blob/2f03089f43cc098ac2687c7ab3ca5fd8d2502a1c/plugins/npm/src/index.ts#L869
ここでは、バンプはベースブランチに対してのみ実行されますが、これを変更するための構成フラグはありません。

bug released

最も参考になるコメント

ああ、ドライランの動作を後でではなく早く修正するための別の投票。 次の週末にすべてを修正する方法を見ていきます。 フィードバックとautoをご利用いただきありがとうございます。

全てのコメント14件

これは仕様によるものです。 バージョンがコミットされている場合、マスターにマージするときにマージの競合が発生する可能性があります。 作成されたgitタグがあります

この問題は私にも影響を及ぼしています。

これは仕様によるものです。 バージョンがコミットされている場合、マスターにマージするときにマージの競合が発生する可能性があります。 作成されたgitタグがあります

確実にするために推奨されるアプローチは何であるpackage.json使用してCIの導入に同期したバージョンの滞在auto shipit

@smithkiのユースケースを完全に理解しているかどうかはわかりません。 @thuringiaのユースケースは理にかなっています。彼は他のものを更新するためのバージョンが必要ですが、私は動作を変更することをかなり躊躇しています。 あなたが達成しようとしていることを詳しく説明できますか?

申し訳ありませんが、誤解している可能性があります。 問題の文言から、私はと推測next更新が届かない枝package.jsonバージョンを、しかしmain支店(まだ学んでくださいautoここに-総初心者) 。 私のユースケースは元の問題と同じですが、具体的には次のとおりです。

現在のpackage.jsonバージョンを環境変数として挿入できるように、NPMライブラリの_build_時にpackage.jsonバージョンを読み取る必要があります。 これは、ビルドを実行する前にpackage.jsonファイルをバージョン管理する必要があることを意味します。 package.jsonインポートするだけでは、 tsconfig.json rootDirsに依存する現在のTypeScriptセットアップではうまく機能しません( package.jsonrootDirs含まれていません)

この問題の元のトピックを狂わせるつもりではなく、回避できるかどうかを確認します。

あなたはただ自動車がすることをすることができますか? https://github.com/intuit/auto/blob/master/packages/core/src/auto.ts#L306 -L310

残念ながら、コードはクライアント側で実行することを目的としているため、そうではありません(回避策が見つからない場合は、新しい問題を開きます)。

ああ、ドライランの動作を後でではなく早く修正するための別の投票。 次の週末にすべてを修正する方法を見ていきます。 フィードバックとautoをご利用いただきありがとうございます。

@hipstersmoothie迅速な対応に感謝します:)あなたはいつも私を驚かせます

今のところ、かなり確実な回避策、 auto shipit --dry-run --plugins git-tagを見つけました。 とにかく、プレリリースのためにこの方法で次のバージョンをチェックすることは、実際には非常に理にかなっています。
ドライランの改善をすぐに試していただきありがとうございます。 試してみたいカナリアビルドがある場合は、お知らせください。 喜んでお手伝いさせていただきます。

とにかく、 autoありがとうございます! それは私の人生をとても楽にしてくれました

@thuringia @smithki v10で問題が解決するかどうかをテストして確認できますか?

@hipstersmoothieこれはv10で
ただし、著しく遅くなります。つまり、 shipitなしで--dry-run shipitを実行するのと同じくらい時間がかかります。

これをとても早く出してくれてありがとう!

それがバグかどうかわからない:
yarn add -D auto@nextを使用してパッケージをアップグレードすると、 auto shipit --dry-run実行した後、 package.jsonyarn.lockがなくなりました。 v10はまだnode_modulesあったので、作業ディレクトリがリセットされたようです。

ただし、著しく遅くなります。つまり、-dry-runを使用せずにshipitを実行するのと同じくらい時間がかかります。

私はそれを改善できるかどうかを確認します。 しかし、プラグインを呼び出しているので、実際の次のバージョンを印刷するためにさらに多くの作業を行っています。

auto shipit --dry-runを実行した後、package.jsonとyarn.lockへの変更はなくなりました

ああ、これはバグです。 ドライランの場合、クリーンチェックをスキップしましたが、gitリセットをスキップしませんでした

@thuringiaどのような種類のプロジェクトをリリースしていますか?

@hipstersmoothieドライランが遅くなった
ただし、パフォーマンスの向上はいつでも歓迎します。

この場合、それは主にJavaアプリケーションとその周りにいくつかのラムダで構成される混合プロジェクトです。 リリースを作成するには、次のことを行う必要があります。

  • gradleを実行して、バージョン番号を使用してjarをビルドします
  • そのjarファイルをDockerイメージにパッケージ化し、タグを付けて公開します
  • タグ付けとコンテナーの構成にバージョン番号を使用するサーバーレスフレームワークを使用してラムダをデプロイします

autoデフォルトのユースケースではありません😂
通常、セットアップがより合理化されたNodeまたはReactプロジェクトに使用しますが、この特定のプロジェクトに必要なように、リリースを実際に公開する前にバージョン番号を取得する必要はありませんでした。


:rocket:問題はv10.0.0リリースされました:rocket:

このページは役に立ちましたか?
0 / 5 - 0 評価