💭

GitHub Actionsのarm64ランナーではenv.SHELLが/bin/shになっている

に公開

概要

SSIA
amd64だと /bin/bash になっている

経緯

google/zx に以下で process.env.SHELL をシェルとして使用する変更が入った。
https://github.com/google/zx/releases/tag/8.6.1

これによりzx内のコマンド実行で以下のようなエラーが発生するようになった。

/bin/sh: 1: set: Illegal option -o pipefail
Error: /bin/sh: 1: set: Illegal option -o pipefail

上記のように /bin/sh が使われている。
しかし、このエラーが起きるjobと起きないjobがあり、追っていったところ
amd64のrunner(デフォルトのubuntu-24.04など)では起きず、
env.SHELL を確認してみたところ、 /bin/bash になっていた。

おそらく意図的ではない不具合。
env.SHELL/bin/bash と指定すれば解決はする。

Discussion