Closed tsutsui closed 3 months ago
今まで *BSDのCIで PATH が設定されないのはなぜなのだろうと思いつつ手動で書いていたのですが、 いろいろ見ていたところ netbsd-vm 他の CIのオプション usesh: true を設定すると https://github.com/vmactions/netbsd-vm/blob/v1.0.8/run.sh の execSSHSH() で
PATH
usesh: true
execSSHSH()
#using the sh execSSHSH() { exec ssh "$osname" sh }
と -t 無しで ssh を呼んで sh を起動するので ~/.profile が読まれていない、というオチでした。
-t
ssh
sh
~/.profile
そもそも NetBSD および FreeBSD 14.0 以降は root login shell が /bin/sh になっていること、 OpenBSD は root login shell が /bin/ksh であるものの CIでは困らないので それぞれオプションを削除して /root/.profile にあるデフォルトパスが設定されるのも確認しました。
/bin/sh
/bin/ksh
/root/.profile
ありがとうございます。取り込んでみました。
今まで *BSDのCIで
PATH
が設定されないのはなぜなのだろうと思いつつ手動で書いていたのですが、 いろいろ見ていたところ netbsd-vm 他の CIのオプションusesh: true
を設定すると https://github.com/vmactions/netbsd-vm/blob/v1.0.8/run.sh のexecSSHSH()
でと
-t
無しでssh
を呼んでsh
を起動するので~/.profile
が読まれていない、というオチでした。そもそも NetBSD および FreeBSD 14.0 以降は root login shell が
/bin/sh
になっていること、 OpenBSD は root login shell が/bin/ksh
であるものの CIでは困らないので それぞれオプションを削除して/root/.profile
にあるデフォルトパスが設定されるのも確認しました。