release-github-actions icon indicating copy to clipboard operation
release-github-actions copied to clipboard

fix: treat `npm ci` & `npm install` as install command

Open nogic1008 opened this issue 2 years ago • 1 comments

Description: 概要

BUILD_COMMANDnpm installnpm ciが定義されている場合に、以下のコマンドが付与されることを抑制する。 これにより、予期しないインストールプロセスが動いてしまうことを防ぐ。(ex. --ignore-scripts)

  • npm install
  • npm install --production (DELETE_NODE_MODULEStrueでないとき)

close #455

Changes: 変更内容

  • utils/misc.tsgetBuildCommands内にあるhasInstallCommandの条件式を下記のように変更
    • Before: BUILD_COMMANDに定義されたコマンド内にnpm run installまたはyarn installを含む
    • After: BUILD_COMMANDに定義されたコマンド内に${pkgManager} installまたはnpm ci`のいずれかを含む

Expected Impact: 影響範囲

BUILD_COMMANDnpm installnpm ciを定義していた場合、今まで実行されていたnpm installコマンドが実行されなくなる。 ただ今までの動作がバグ的挙動であるため、実際に影響を受ける可能性は軽微である。

影響を受けるケース

- uses: technote-space/release-github-actions@v8
  with:
    BUILD_COMMAND: npm ci --ignore-scripts && npm run build
  • 現行で実行されるコマンド
    • npm install
    • npm ci --ignore-scripts
    • npm run build
    • rm -rdf node_modules
    • npm install --production
  • 修正後に実行されるコマンド
    • npm ci --ignore-scripts
    • npm run build

今までのビルド動作がnpm install部分(≒postinstallなどで実行されるnpm script)に依存していた場合に、破壊的変更となる。

Operating Requirements: 動作要件

Additional context: 補足

nogic1008 avatar Apr 30 '23 08:04 nogic1008

:raised_hands: Thanks for opening this pull request! Please check out our contributing guidelines.

welcome[bot] avatar Apr 30 '23 08:04 welcome[bot]