🐙
[Web] GitHub Actionsでzshを使うtips
結論
.github/workflows/ci.yml
に以下を記述する.
- name: hoge
- shell: zsh {0}
なぜ書くか
同じような日本語のtipsが見当たらなかったため.
問題の出現
以下のような状況でした.
-
.zshrc
の改造を自分のレポジトリで開発していてCIを作りたい -
.zshrc
をsourceする必要があり, source内にbash等で使えないコマンドが存在する - Dockerを使うほどのもの規模ではない(依存しているものもbrewぐらい)
そこでshellを指定するcommandをGitHub Actions上で指定出来ないか調べたところ以下が出てきました.
以下のものが対応していると書かれています。
- bash
- pwsh
- sh
- cmd
- powershell
例えばbashを指定する場合,
steps:
- name: Display the path
run: echo $PATH
shell: bash
上記のように記述することができます. 残念ながらこの表にはzshはありませんでした.
解決までの流れ
もう少し調べると以下のIssueを見つけました.
標題の通りzshもshell: - zash
と書けるようにする提案で, 以下の回答が返っていました.
al-cheb commented on Jan 14, 2020
zshにshellを指定するコードを以下のように書けるとのことでした.
Example output:
- name: Display the path
run: |
echo $ZSH_NAME $ZSH_VERSION
shell: zsh {0}
この指示に従い, コードを書き換えたところCIのzshでsource ~/.zshrc
をすることができました.
Discussion