2023-10-11 GitHub Actions でエラーをスキップする (continue-on-error)
continue-on-error
を使うことでコマンドがエラーになっても処理を継続できる。
steps:
- ...
- name: Error
# エラーでも処理を継続する
continue-on-error: true
# あとで実行結果を参照するため、IDを振っておく
id: error_execution
# ディレクトリが存在することで、2回目は確実にエラーになる
run: |
mkdir hoge
mkdir hoge
- name: Error handling
if: ${{ steps.error_execution.outcome == 'failure' }}
run: |
echo "Error handling"
echo $
exit 1
ref. GitHub Actionsでエラーの時だけ特定の処理を実行する
実際に試してみた
Create continue-on-error.yml
by toshimaru · Pull Request #136 · toshimaru/Test
name: "Continue on error"
on:
pull_request:
jobs:
continue-on-error:
runs-on: ubuntu-latest
steps:
- run: echo "This step will run"
- run: exit 1
continue-on-error: true
- run: echo "This step will not run"
ステップの途中で exit 1
でエラーを発生させても、continue-on-error: true
により次のステップが実行される。
ちなみに下記のように、ステップじゃなくジョブにたいして continue-on-error
を指定したら、期待通りには動かなかった。
https://github.com/toshimaru/Test/pull/136/commits/4c41001c0276fcb631eeed757b32e1d6808cbf5d
特定のステップをエラーにしても、次のステップが実行されるようにするには、ステップ自体に continue-on-error: true
を指定する必要があるようだ。