[GitHub Actions] Pull request 제목 검사

[GitHub Actions] Pull request 제목 검사

2023-05-11 hit count image

GitHub Actions의 Conventional PR Title Action을 사용하여 Pull request의 제목이 규칙에 맞게 작성되었는지를 검사하는 방법에 대해서 알아보도록 하겠습니다.

개요

Git에서 커밋(Commit) 메시지를 작성할 때, 일정한 규칙이 있습니다. 대표적인 커밋 메시지 규칙으로 Conventional Commits가 있습니다.

이번 블로그 포스트에서는 GitHub ActionsConventional PR Title Action을 사용하여 Pull request의 제목이 Conventional Commits의 규칙을 따르는고 있는지 검사하는 방법에 대해서 알아보도록 하겠습니다.

블로그 시리즈

이 블로그는 시리즈로 제작되었습니다. 다음 링크를 통해 다른 블로그 포스트도 확인해 보시기 바랍니다.

Conventional Commits

Conventional Commits은 다음과 같이 커밋 메시지의 구조에 관한 규칙입니다.

<type>: <description>

<body>

<footer>

여기서 TypeBody, Footer는 선택사항이지만, 보통 커밋 메시지를 작성할 때, 다음과 같은 Type을 추가하여 작성합니다.

  • fix:: 버그 수정인 경우
  • feat:: 기능 추가인 경우
  • build:: 빌드 시스템 또는 종속성(dependencies)을 변경한 경우
  • chore:: 빌드 시스템 또는 종속성(dependencies)을 변경한 경우
  • ci:: CI 설정이나 스크립트를 변경한 경우
  • docs:: 문서만 변경한 경우
  • style:: 코드 스타일(띄어쓰기, 포맷팅, 콜론 등)을 변경한 경우
  • refactor:: 버그 수정이나 기능 추가가 아닌 코드 리팩토링인 경우
  • pref:: 성능 향상을 위한 코드 수정인 경우
  • test:: 테스트 코드 추가나 기존 테스트 코드를 수정한 경우

Conventional PR Title Action

Conventional PR Title ActionPull request의 제목이 커밋 메시지의 규칙인 Conventional Commits을 지키고 있는지 검사하는 GitHub Actions입니다. 즉, Pull request의 제목이 Conventional CommitsType을 포함하고 있는지 검사합니다.

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 ActionsConventional PR Title Action을 사용하여 Pull request의 제목이 Conventional Commits의 타입을 포함하고 있는지 검사하는 방법에 대해서 알아보았습니다. 이렇게 타입을 검사하는 이유는 Release Drafter를 사용하여 GitHubRelease note를 자동화하기 위해서 입니다.

GitHub Actions중 하나인 Release Drafter를 사용하여 GitHubRelease note를 자동화하는 방법에 대해서는 아래에 블로그 포스트를 참고하시 바랍니다.

제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!

앱 홍보

책 홍보

스무디 한 잔 마시며 끝내는 React Native 책을 출판한지 벌써 2년이 다되었네요.
이번에도 좋은 기회가 있어서 스무디 한 잔 마시며 끝내는 리액트 + TDD 책을 출판하게 되었습니다.

아래 링크를 통해 제가 쓴 책을 구매하실 수 있습니다.
많은 분들에게 도움이 되면 좋겠네요.

스무디 한 잔 마시며 끝내는 React Native, 비제이퍼블릭
스무디 한 잔 마시며 끝내는 리액트 + TDD, 비제이퍼블릭
Posts