개요
이번 블로그 포스트에서는 GitHub Actions
를 사용하여 Pull request
의 제목이 Conventional Commits
을 지키는지 검사하는 방법에 대해서 알아보겠습니다.
블로그 시리즈
이 블로그는 시리즈로 제작되었습니다. 다음 링크를 통해 다른 블로그 포스트도 확인해 보시기 바랍니다.
- [GitHub Actions] Pull request 제목 검사
- [GitHub Actions] Release notes 자동화
- [GitHub Actions] Pull request의 라벨 검사
Conventional Commits이란
Conventional Commits
은 소프트웨어 개발에서 사용되는 커밋 메시지를 표준화하기 위한 규칙입니다. 이것은 코드 변경 사항을 더 읽기 쉽고 자동화된 버전 관리 시스템과 통합하기 쉽도록 만들기 위한 목적이 있습니다.
Conventional Commits
은 다음과 같은 구조를 가지고 있습니다.
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
- 타입(Type): 커밋의 의도를 나타내는 단어로, 주로 feat(기능 추가), fix(버그 수정), chore(빌드 및 도구 관련 변경) 등이 사용됩니다.
- 범주(Scope): 변경 사항이 어떤 부분에 영향을 미치는지를 지정하는 옵션입니다. Optional이므로 생략할 수 있습니다.
- 커밋 메시지(description): 변경 사항의 간결한 설명을 담고 있는 부분으로, 명령문 형태로 작성되어야 합니다.
여기서 타입은 다음과 같은 종류를 사용할 수 있습니다.
- feat: 새로운 기능을 추가할 때 사용됩니다.
- fix: 버그를 수정할 때 사용됩니다.
- chore: 빌드 프로세스나 도구 관련 작업을 수행할 때 사용됩니다.
- docs: 문서를 변경할 때 사용됩니다.
- style: 코드 스타일을 변경하거나 포맷을 수정할 때 사용됩니다.
- refactor: 코드 리팩토링을 수행할 때 사용됩니다. 기능의 변경 없이 코드의 구조를 개선하는 경우에 해당합니다.
- test: 테스트 관련 코드를 추가하거나 수정할 때 사용됩니다.
- build: 빌드 시스템 또는 외부 종속성에 대한 변경을 나타낼 때 사용됩니다.
- ci: CI/CD 파이프라인에 대한 변경을 나타냅니다.
GitHub
에서 Pull request
를 만들 때, 브랜치의 첫 커밋 메시지를 기본적으로 사용하게 됩니다. 따라서 커밋을 할 때, Conventional Commits
을 지키도록 하면 Pull request
를 만들 때, 좀 더 의미 있는 제목을 사용할 수 있습니다.
Conventional PR Title Action
이번 블로그 포스트에서는 GitHub Actions
으로 Pull request
의 제목이 Conventional Commits
을 지키는지 검사하기 위해 Conventional PR Title Action
을 사용하겠습니다.
GitHub Actions 생성
GitHub Actions
에서 Conventional PR Title Action
을 사용하기 위해서 .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/conventional-pr-title-action@v3
env:
GITHUB_TOKEN: $
이 GitHub Actions
는 Pull request
가 생성되거나 수정될 때, Pull request
의 제목이 Conventional Commits
을 지키는지 검사하게 됩니다.
완료
이것으로 GitHub Actions
를 사용하여 Pull request
의 제목이 Conventional Commits
을 지키는지 검사하는 방법에 대해서 알아보았습니다.
제가 이렇게 Pull request
의 제목이 Conventional Commits
을 지키는지 검사하는 이유는, 이 Pull request
의 제목을 사용하여 Release notes
작성을 자동화하기 위해서 입니다.
GitHub Actions
를 사용하여 Release notes
작성을 자동화하는 방법에 대해서는 다음 링크를 참고하시기 바랍니다.
제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!
앱 홍보
Deku
가 개발한 앱을 한번 사용해보세요.Deku
가 개발한 앱은 Flutter로 개발되었습니다.관심있으신 분들은 앱을 다운로드하여 사용해 주시면 정말 감사하겠습니다.