1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GitHub Actions 動作時に husky install を実行しないようにする

Posted at

概要

ローカル環境で Git hooks の操作をする際に非常に便利な Husky なんですが、ある日 Husky を導入しているリポジトリで GitHub Actions を動かすと、なぜか Actions 上でも Husky が動いていることがわかりました。

こちらの37行目以降が該当のログです。husky install が実行されていることがわかります。
スクリーンショット 2023-09-04 1.59.57.png

これといって困っているわけではないですが、CI上では Husky を動かす必要がないので止められるなら止めたい、というのが今日の話です。

原因

Husky のインストール時に package.json の preparehusky install が自動で追加されます。そのため、npm のライフサイクルに入ってしまって、CI上での npm install (ここでは yarn install)時に動いてしまうようです。

package.json
  "scripts": {
    "prepare": "husky install"
  }

対応方法

公式に書いてありましたが、HUSKY という環境変数に 0 をセットしておけばインストールは動かないそうです。ということでこれをやってみます。

You can set HUSKY environment variable to 0 in your CI config file, to disable hooks installation.

環境変数を追加

私の場合は、GitHub Actions の設定ファイルに以下のように環境変数を追加しました。

    - name: Install dependencies
      run: yarn install --frozen-lockfile
      shell: bash
+     env:
+       # CI上では husky を動かさないようにする
+       # https://typicode.github.io/husky/guide.html#with-env-variables
+       HUSKY: '0'

確認

husky - HUSKY env variable is set to 0, skipping install の文言が表示され、無事意図通りインストールがスキップされました。

スクリーンショット 2023-09-04 2.12.02.png

感想

そもそも GitHub Actions 上で husky install が動いていたことに気づいていない(私みたいな)、あるいは大勢に影響ないので大して気にしていない、という場合も往々にしてありそうです。

気になった方は参考にしてみてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?