Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: treat npm ci & npm install as install command #456

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

nogic1008
Copy link

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: 補足

@welcome
Copy link

welcome bot commented Apr 30, 2023

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

@github-actions github-actions bot added the typescript Pull requests that update TypeScript code label Apr 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
typescript Pull requests that update TypeScript code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

npm ci および npm install が "install" コマンドとして扱われない
1 participant