💭
GitHub Actionsのarm64ランナーではenv.SHELLが/bin/shになっている
概要
SSIA
amd64だと /bin/bash になっている
経緯
google/zx に以下で process.env.SHELL をシェルとして使用する変更が入った。
これにより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