🛠️
GitHub ActionsのWorkflow Dispatch実行時に自動テストの実行有無を指定する
自動テストは時間とお金がかかるため、GitHub Actionsのワークフローを実行する際にテストをスキップしたい場合がしばしばあります。コミットしたときに発火するワークフローをスキップしたい場合はコミットメッセージに [ci skip]
を含めれば良いですが、Workflow Dispatchで手動実行する場合にスキップするならちょっとした工夫で便利な手法があります。
inputs
を使ってフラグを立てましょう!
name: Sample Workflow
on:
workflow_dispatch:
+ inputs:
+ ui-test-flag:
+ type: choice
+ description: UIテストを実行しますか
+ required: true
+ options:
+ - 実行する
+ - 実行しない
jobs:
test:
name: Test
runs-on: macos-13
env:
DEVELOPER_DIR: "/Applications/Xcode_15.0.1.app/Contents/Developer"
- name: Unit Test
run: # Unit Testの実行
- name: UI Test
+ if: github.event.inputs.ui-test-flag == '実行する'
run: # UI Testの実行
そうすると、Workflowの詳細画面で実行する時のポップアップにプルダウンメニューが追加されて、テストを実行するかどうか指定できる様になります!
応用すれば他の制御もできるのでぜひ活用しましょう!
参照
Discussion