1. GitHub Actions
- workflows: 이벤트 + Job을 정의함
- Jobs: 행해지는 환경(Runner)와Steps를 정의함
- Steps: 실제 작업이 이뤄지는 단계
- 이벤트는 다양함. 레포와 관련있을수도(push event), 관련없을수도(workflow_dispatch) 있다. 최소한 하나의 이벤트는 있어야한다.
- .github/workflows/<file>.yml에서 워크플로우를 작성해야 하며, GitHub Actions의 문법에 맞게 작성해야 한다.
2. workflow의 취소 & 스킵
2-1. 취소
- Jobs가 실패할 경우 workflow는 알아서 취소됨
- Job의 경우 그 Job 내의 Step중 하나라도 실패할 경우 실패함
- 당연히 취소 버튼을 눌러서 취소할 수도 있음
2-2. 스킵
- 원칙적으로 YAML 파일의 on 조건을 만족하는 경우 무조건 시작함
- 다만 푸시와 PR의 경우에는 workflow를 건너뛸 수 있는 케이스가 존재함
- 푸시의 경우 커밋 메시지 뒤에 [skip ci]를 넣어주면 됨..
CI/CD 배포 시에 .yml에서 React 테스트를 진행할 수 있도록 yarn test(= vitest run)을 입력했는데, vitest not found라는 에러가 계속 떴었다.

결국 해결했는데 그 원인은 최상단 루트에
.github/workflows
프로젝트 폴더
가 있었는데, 정작 vitest가 행해져야 할 프로젝트가 한 뎁스 깊게 있었기 때문에 최상단에서 동작하는 workflow가 vitest를 찾지 못한 것이다.
.github/workflows
src
package.json
yarn.lock
...
이렇게 프로젝트 내부 파일들과 workflow가 최상단 루트에 위치할 수 있게 바꿔줌으로써 에러를 해결할 수 있었다.

'today i learned' 카테고리의 다른 글
| today i learned 2/13 (0) | 2023.02.13 |
|---|---|
| today i worked 7/1 (0) | 2022.06.30 |
| today i worked 6/30 (0) | 2022.06.30 |
| today i worked 6/29 (0) | 2022.06.29 |
| today i worked 6/28 (0) | 2022.06.29 |