개요
Git
에서 커밋(Commit) 메시지를 작성할 때, 일정한 규칙이 있습니다. 대표적인 커밋 메시지 규칙으로 Conventional Commits
가 있습니다.
이번 블로그 포스트에서는 GitHub Actions
의 Conventional PR Title Action
을 사용하여 Pull request
의 제목이 Conventional Commits
의 규칙을 따르는고 있는지 검사하는 방법에 대해서 알아보도록 하겠습니다.
블로그 시리즈
이 블로그는 시리즈로 제작되었습니다. 다음 링크를 통해 다른 블로그 포스트도 확인해 보시기 바랍니다.
- [GitHub Actions] Pull request 제목 검사
- [GitHub Actions] Release Drafter를 사용하여 GitHub의 Release note 자동화 하기
- [GitHub Actions] Pull request 라벨 검사하기
- [GitHub Actions] Changelog 파일 자동 업데이트하기
Conventional Commits
Conventional Commits
은 다음과 같이 커밋 메시지의 구조에 관한 규칙입니다.
<type>: <description>
<body>
<footer>
여기서 Type
과 Body
, Footer
는 선택사항이지만, 보통 커밋 메시지를 작성할 때, 다음과 같은 Type
을 추가하여 작성합니다.
fix:
: 버그 수정인 경우feat:
: 기능 추가인 경우build:
: 빌드 시스템 또는 종속성(dependencies)을 변경한 경우chore:
: 빌드 시스템 또는 종속성(dependencies)을 변경한 경우ci:
: CI 설정이나 스크립트를 변경한 경우docs:
: 문서만 변경한 경우style:
: 코드 스타일(띄어쓰기, 포맷팅, 콜론 등)을 변경한 경우refactor:
: 버그 수정이나 기능 추가가 아닌 코드 리팩토링인 경우pref:
: 성능 향상을 위한 코드 수정인 경우test:
: 테스트 코드 추가나 기존 테스트 코드를 수정한 경우
Conventional PR Title Action
Conventional PR Title Action
은 Pull request
의 제목이 커밋 메시지의 규칙인 Conventional Commits
을 지키고 있는지 검사하는 GitHub Actions
입니다. 즉, Pull request
의 제목이 Conventional Commits
의 Type
을 포함하고 있는지 검사합니다.
Conventional PR Title Action
을 사용하여 Pull request
의 제목을 검사하기 위해 .github/workflows/pr-title-checker.yml
파일을 만들고 다음과 같이 수정합니다.
name: Check PR title
on:
pull_request:
types:
- opened
- reopened
- edited
- synchronize
jobs:
lint:
runs-on: ubuntu-latest
permissions:
statuses: write
steps:
- uses: aslafy-z/[email protected]
env:
GITHUB_TOKEN: $
이렇게 GitHub Actions
를 추가하면, Pull request
가 생성, 수정 등이 발생하면 해당 Pull request
의 제목에 Conventional Commits
의 타입이 포함되어 있는지 확인하게 됩니다.
완료
이것으로 GitHub Actions
의 Conventional PR Title Action
을 사용하여 Pull request
의 제목이 Conventional Commits
의 타입을 포함하고 있는지 검사하는 방법에 대해서 알아보았습니다. 이렇게 타입을 검사하는 이유는 Release Drafter
를 사용하여 GitHub
의 Release note
를 자동화하기 위해서 입니다.
GitHub Actions
중 하나인 Release Drafter
를 사용하여 GitHub
의 Release note
를 자동화하는 방법에 대해서는 아래에 블로그 포스트를 참고하시 바랍니다.
제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!
앱 홍보
Deku
가 개발한 앱을 한번 사용해보세요.Deku
가 개발한 앱은 Flutter로 개발되었습니다.관심있으신 분들은 앱을 다운로드하여 사용해 주시면 정말 감사하겠습니다.