[GitHub Action] workflow_run

excellent·2022년 1월 5일
0

GitHub Action

목록 보기
5/5
on:
  workflow_run:
    workflows: ["해당 workflow를 initiate 할 workflow"]
    types:
     - completed
jobs:

해당 이벤트는 요청되거나 completed 되었을 때 동작하고, 다른 workflow의 완료 결과를 기반으로 workflow를 수행할 수 있게 해준다. 이전 workflow의 결과에 관계없이 트리거는 동작한다.

예를 들어, pull_request workflow가 build 결과를 생성하면, 해당 결과를 분석하고 comment 를 기존 PR에 추가하는 workflow를 만들 수 있다.

workflow_run 으로 수행되는 workflow는 이전 workflow의 권한에 상관 없이 secrets와 write token에 접근 할 수 있다. 이것은 매우 유용한데, 이전 workflow는 권한을 주지 않고, 이후 동작하는 workflow에는 권한을 줄 수 있다.

💡 해당 이벤트는 workflow 파일이 default branch에 존재할 때에만 트리거된다. 💡 `workflow_run` 은 3레벨보다 많게 연결해서 사용할 수 없다. 예를 들어서, 5개의 workflow(`B` 에서 `F`까지 이름 지어진) 를 순차적으로 수행하려고 한다. `A`가 workflow를 시작하고나서 `A` → `B` → `C` → `D` → `E` → `F` 로 수행하면 `E` 와 `F` 는 동작하지 않는다.

reference

profile
solrasido

0개의 댓글