GitHub Actionsで複数ジョブを実行する時デフォルトでは並列に実行されますが、順序を制御したい場合はneedsを定義します。
jobs:
a:
...
b:
needs: a # aが終了後に実行される
...
で、1つのファイルに定義が増えすぎたりしてファイルを分けた場合は他ファイルのworkflowをimportすることができます。
呼ばれる側はworkflow_callを定義しておきます。
# 呼ばれる側のファイル
on:
workflow_call:
jobs:
a:
...
# 呼ぶ側のファイル
jobs:
a:
uses: ./.github/workflows/[呼ばれる側のファイル名]
b:
needs: a
...
ちなみに呼ばれる側のファイルはworkflow_call以外にも通常の動作条件(PR作成時とかpush時とか)が指定できます。