Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Devops/bugfix,refactor/#231 #544 release pr 오류 해결 및 규칙 변경 #545

Conversation

kimyu0218
Copy link
Collaborator

@kimyu0218 kimyu0218 commented Feb 18, 2024

🔮 resolved #231
🔮 resolved #544

변경 사항

  • release 브랜치로 푸시되었을 때 백엔드 배포 액션이 돌아가도록 설정
  • release PR이 발생했을 때는 close-action이 돌지 않도록 설정

고민과 해결 과정

1️⃣ 릴리즈 PR 액션 오류 해결

release PR에서 항상 오류가 발생했는데, 이는 release PR이 feature ,bugfix, refactor PR과 형태가 다른 게 문제였다. PR에 언급된 이슈들은 이미 해결된 이슈이므로, 이슈를 닫는 액션을 돌리지 않아도 된다.

jobs:
  close-issue:
    name: Close Issue
+    if: github.event.pull_request.base.ref != 'release'

release 브랜치로 머지될 때는 close-action이 돌지 않도록, if문을 추가하여 해결했다.

2️⃣ PR 제목 검사

이슈를 연결하는 과정이 PR 제목을 기준으로 이루어지므로, PR 제목 규칙을 통과한 경우만 라벨을 붙이고, 이슈를 연결하도 수정했다.
image

steps:
  - name: Check PR title
    uses: deepakputhraya/action-pr-title@master
    with:
      regex: '((Be|Fe|Devops|Be,fe|Fe,be)\/(feature|bugfix|refactor)(,(feature|bugfix|refactor))*\/#[\d]+( #[\d]+)*.+|release v[\d]+\.[\d]+\.[\d]+)'
      github_token: ${{ secrets.ADD_TO_PROJECT_PAT }}

action-pr-title 액션의 regex를 이용하여 정규식을 만족하는 제목만 통과한다.

🔮 정규식을 통과하는 PR 제목 예시

- Be/feature/#1 이슈 1번의 제목
- Fe/bugfix/#2 이슈 2번의 제목
- Be,fe/refactor/#3 이슈 3번의 제목
- Fe,be/feature,bugfix/#4 이슈 4번의 제목
- Devops/feature/#5 #6 이슈 두 개 동시에 연결

(선택) 테스트 결과

- release의 경우, PR 제목에 이슈 넘버가 없어 액션에서 에러가 발생함
- if문을 추가하여 base 브랜치가 release가 아닌 경우에만 실행하도록
  설정
PR을 이슈에 연결하고 assignee를 할당하는 작업의 경우, release PR에는
불필요함
정규식을 이용하여 PR 제목 제한
- (BE|FE|DEVOPS)/(feature|bugfix|refactor)/#issue-number-issue-name 형식
  허용
- release v1.0.0 형식 허용
- PR 제목은 첫문자를 제외하고 소문자로 변환됨
- `-`은 공백으로 치환됨
- 정규식은 쌍따옴표가 아니라 따옴표로 감싸야 함
@kimyu0218 kimyu0218 force-pushed the DEVOPS/bugifx,refactor/#231-#544-release-PR-오류-해결-및-규칙-변경 branch from 454121c to 5c5ab52 Compare February 18, 2024 07:41
@kimyu0218 kimyu0218 changed the title Devops/bugifx,refactor/#231 #544 release pr 오류 해결 및 규칙 변경 Devops/bugfix,refactor/#231 #544 release pr 오류 해결 및 규칙 변경 Feb 18, 2024
다음과 같은 PR 제목도 가능하도록 설정
- `Be,fe/feature/*`
- `Be/feature,bugfix/*`
@kimyu0218 kimyu0218 added the bug label Feb 18, 2024
- resolved #1 #2 형태 동작하지 않음. 첫번째 이슈만 등록됨
- resolved #1 resolved #2 형태로 수정
@Doosies Doosies self-assigned this Feb 18, 2024
@kimyu0218
Copy link
Collaborator Author

Important

우리 브랜치 규칙도 강제해야 할 것 같아. pr-labeler가 브랜치 이름을 기준으로 동작해서 브랜치명에 오타가 있으면 라벨이 안 붙어!
내가 bugfixbugifx로 오타냈더니 bug 라벨이 안 붙어서 직접 붙여줬어 ㅋㅋ ㅠㅠ

@kimyu0218 kimyu0218 marked this pull request as ready for review February 18, 2024 09:04
- name: Check PR title
uses: deepakputhraya/action-pr-title@master
with:
regex: '((Be|Fe|Devops|Be,fe|Fe,be)\/(feature|bugfix|refactor)(,(feature|bugfix|refactor))*\/#[\d]+( #[\d]+)*.+|release v[\d]+\.[\d]+\.[\d]+)'
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 👍 👍

@kimyu0218 kimyu0218 merged commit 85f8903 into dev Feb 19, 2024
@kimyu0218 kimyu0218 deleted the DEVOPS/bugifx,refactor/#231-#544-release-PR-오류-해결-및-규칙-변경 branch February 19, 2024 11:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants