🐺
GitHub Actions timeout設定
はじめに
GitHub Actionsのワークフローを運用していると、ジョブやステップが予期せず長時間実行され続けたのでtimeout-minutes
を設定した話です。
timeout-minutesとは
timeout-minutes
は、GitHub Actionsにおいてジョブやステップの最大実行時間を制限する設定です。指定した時間を超えるとそのジョブやステップは自動的に停止されます。
設定できる場所
timeout設定はjob
とstep
レベルに対して設定可能です。
jobレベルでの設定
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- name: Run build
run: npm run build
※jobが自動的にキャンセルされるまでの最長時間は360分です。
stepレベルでの設定
特定のステップにのみtimeoutを設定可能
steps:
- name: Long
run: npm run hoge
timeout-minutes: 60
- name: Short
run: echo "This is short"
timeout-minutes: 5
所感
長期実行されるとGitHub Actionsのリソースを必要以上に使用してしまうので基本的には設定するのが無難な印象です。
リファレンス
Discussion