Show GN: gaji – TS로 안전하게 깃헙 액션 작성하기, 그런데 코드젠이 포함된
(gaji.gaebalgom.work)최근에 깃헙 액션 수십여 개를 다룰 일이 있었습니다. 그때 느낀 3가지 문제점이 있습니다.
- YAML은 데이터 표현 언어지, 동작을 표현하기에 적합하지 않습니다.
- 타입 검사가 없습니다. 외부 저장소에 의존할 일이 많은데(actions/checkout@v5조차 외부 저장소입니다), 이들이 요구하는 입력에 대한 검증이 전혀 없습니다. 사용자가 직접 문서를 보고 일일이 형식에 맞게 입력해야 합니다.
- 로컬에서 재현하기가 힘듭니다.
gaji는 1번과 2번 문제를 해결합니다. 사용하는 액션들에서 자동으로 action.yml을 가져와 타입스트립트 타입으로 변환합니다. 이를 기반으로 TS 상에서 워크플로우를 작성하고, 이를 컴파일해서 YAML 파일을 얻을 수 있습니다.
제작기와 저 3가지 문제에 대한 자세한 내용이 궁금하시면 왜 gaji인가? - TS로 안전하게 GitHub Actions 작성하기 를 참고해주세요.