Travis CI から GitHub Actions に CI を移行しようとして微妙にハマったのですが、次の issue にあるように GitHub ホストランナーには TTY がありません。
TTY が必要な場合は issue 内のコメント で紹介されている Action-FakeTTY を使用すると良さそうです。
この Action を使用することで、TTY を偽装する faketty
コマンドを使用することができるようになります。
次のように Action-FakeTTY
を実行後、偽装 TTY が必要なコマンドの頭に faketty
をつけてあげれば OK です。
.github/workflows/CI.yaml
name: CI
on:
- push
- pull_request
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup node
uses: actions/setup-node@v2
with:
node-version: 14
- name: Setup faketty
uses: Yuri6037/Action-FakeTTY@v1.1
- name: Test
run: faketty npm test
注意点として、必ず v1.1 以降を明示的に指定するようにしてください。
Yuri6037/Action-FakeTTY@v1
は現在の GitHub ホストランナーでは動作しません。