💭
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