🐙

[Web] GitHub Actionsでzshを使うtips

2023/06/04に公開

結論

.github/workflows/ci.ymlに以下を記述する.

- name: hoge
    - shell: zsh {0}

なぜ書くか

同じような日本語のtipsが見当たらなかったため.

問題の出現

以下のような状況でした.

  • .zshrcの改造を自分のレポジトリで開発していてCIを作りたい
  • .zshrcをsourceする必要があり, source内にbash等で使えないコマンドが存在する
  • Dockerを使うほどのもの規模ではない(依存しているものもbrewぐらい)

そこでshellを指定するcommandをGitHub Actions上で指定出来ないか調べたところ以下が出てきました.

GitHub Actions shell syntax

以下のものが対応していると書かれています。

  • bash
  • pwsh
  • sh
  • cmd
  • powershell

例えばbashを指定する場合,

steps:
  - name: Display the path
    run: echo $PATH
    shell: bash

上記のように記述することができます. 残念ながらこの表にはzshはありませんでした.

解決までの流れ

もう少し調べると以下のIssueを見つけました.

Add zsh shell

標題の通り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をすることができました.
CI

Discussion