[GitHub Actions] 모노레포 환경에서 GitHub Actions로 PR 제목 검사하는 방법

2024-09-12 hit count image

모노레포 환경에서 GitHub Actions를 사용하여 PR을 생성했을 때, PR(Pull Request)의 제목을 검사하는 방법에 대해서 알아보도록 하겠습니다.

개요

저는 Release Drafter를 사용하여 GitHub의 Release Note를 자동화하고 있습니다.

Release Drafter는 GitHub의 PR의 Label을 기준으로 동작합니다. Release Drafter는 Label을 자동으로 생성하는 기능을 제공하는데, 이때 PR의 제목을 사용합니다. 그래서 PR의 제목이 중요합니다.

기존에는 PR의 제목을 검사할 때, Conventional PR Title Action을 사용했습니다.

하지만 현재 모노레포 프로젝트에서는 해당 Conventional PR Title Action으로만은 충분하지 않아서 다른 GitHub Actions를 사용하게 되었습니다.

이번 블로그 포스트에서는 action-check-pr-title을 사용하여 PR을 생성했을 때, PR의 제목을 검사하는 방법에 대해서 알아보겠습니다.

action-check-pr-title

action-check-pr-title는 정규식을 사용하여 PR의 제목을 검사하는 GitHub Actions입니다.

GitHub Actions 생성

action-check-pr-title을 사용하여 PR의 제목을 검사하는 GitHub Actions를 생성하기 위해 .github/workflows/check_pr_title.yml 파일을 생성하고 다음과 같이 수정합니다.

name: Check PR Title

on:
  pull_request:
    types:
      - opened
      - reopened
      - edited
      - synchronize

jobs:
  check-pr-title:
    runs-on: ubuntu-latest
    timeout-minutes: 1
    steps:
      - name: Checkout Repository
        uses: actions/checkout@v2

      - name: Check PR Title
        uses: Slashgear/[email protected]
        with:
          regexp: '(feat|fix|chore|docs|style|refactor|test|build|ci)\((SERVICE1|SERVICE2|template|components|config|common)\): .+'
          helpMessage: "Example: 'feat(SERVICE1): example of title'"

Pull Request의 제목을 검사하는 부분을 좀 더 자세히 살펴보겠습니다.

      - name: Check PR Title
        uses: Slashgear/[email protected]
        with:
          regexp: '(feat|fix|chore|docs|style|refactor|test|build|ci)\((SERVICE1|SERVICE2|template|components|config|common)\): .+'
          helpMessage: "Example: 'feat(SERVICE1): example of title'"

action-check-pr-title이 제공하는 regexp옵션을 사용하여 PR의 제목을 검사합니다. 여기서 사용하는 정규식은 다음과 같은 PR 제목을 허용합니다.

feat(SERVICE1): Add new feature
fix(SERVICE2): Fix bug
refactor(common): Refactor code
...

모노레포를 사용하기 때문에 Conventional CommitsScope 영역에 서비스명을 설정하고, 이를 검사하도록 설정했습니다.

완료

이것으로 action-check-pr-title을 사용하여 PR을 생성했을 때, PR의 제목을 검사하는 방법에 대해서 알아보았습니다. 기존에 사용하던 Conventional PR Title Action으로도 정규식 검사가 가능하지만, 설정이 간단하지 않아서 action-check-pr-title을 사용하게 되었습니다.

여러분도 간단하게 정규식으로 PR 제목을 검사하고 싶다면 action-check-pr-title을 사용해 보시기 바랍니다.

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

앱 홍보

책 홍보

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

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

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