[GitHub Actions] Pull request 제목 검사

2023-12-27 hit count image

GitHub Actions를 사용하여 Pull request의 제목이 Conventional Commits을 지키는지 검사하는 방법에 대해서 알아보겠습니다.

개요

이번 블로그 포스트에서는 GitHub Actions를 사용하여 Pull request의 제목이 Conventional Commits을 지키는지 검사하는 방법에 대해서 알아보겠습니다.

블로그 시리즈

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

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 ActionsPull request가 생성되거나 수정될 때, Pull request의 제목이 Conventional Commits을 지키는지 검사하게 됩니다.

완료

이것으로 GitHub Actions를 사용하여 Pull request의 제목이 Conventional Commits을 지키는지 검사하는 방법에 대해서 알아보았습니다.

제가 이렇게 Pull request의 제목이 Conventional Commits을 지키는지 검사하는 이유는, 이 Pull request의 제목을 사용하여 Release notes 작성을 자동화하기 위해서 입니다.

GitHub Actions를 사용하여 Release notes 작성을 자동화하는 방법에 대해서는 다음 링크를 참고하시기 바랍니다.

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

앱 홍보

책 홍보

블로그를 운영하면서 좋은 기회가 생겨 책을 출판하게 되었습니다.

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

스무디 한 잔 마시며 끝내는 React Native, 비제이퍼블릭
스무디 한 잔 마시며 끝내는 리액트 + TDD, 비제이퍼블릭
[심통]현장에서 바로 써먹는 리액트 with 타입스크립트 : 리액트와 스토리북으로 배우는 컴포넌트 주도 개발, 심통
Posts