Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions .github/workflows/deploy_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: deploy pr title update

on:
pull_request:
branches:
- 'deploy/*/base'

permissions: write-all

jobs:
deploy-pr-title-update:
runs-on: ubuntu-latest

steps:
- name: Check PR Title
id: pr_title
run: |
PR_TITLE=$(curl -sH "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" "https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}" | jq -r .title)
# PR 제목이 "deploy <"로 시작하면 작업 종료
if [[ "$PR_TITLE" == "deploy <"* ]]; then
echo "PR 제목이 'deploy <'로 시작하므로 작업을 종료합니다."
exit 0
else
echo "PR 제목이 'deploy <'로 시작하지 않으므로 다음 스텝으로 진행합니다."
echo "::set-output name=pr_title::$PR_TITLE"
fi
- name: Get Merged Branch Name
id: merged_branch_name
run: |
MERGED_BRANCH_NAME="${{ github.event.pull_request.base.ref }}"
RECEIVE_BRANCH_NAME="${{ github.event.pull_request.head.ref }}"
echo "Merged Branch Name: $MERGED_BRANCH_NAME / Receive Branch Name: $RECEIVE_BRANCH_NAME"
# 브랜치 이름에서 "배포 이름" 부분 추출
MERGED_EXTRACTED_NAME=$(echo "$MERGED_BRANCH_NAME"| awk -F'/' '{print $2}')
RECEIVE_EXTRACTED_NAME=$(echo "$RECEIVE_BRANCH_NAME" | grep -oP 'AMZUAND-\d+')
if [[ -n "$MERGED_EXTRACTED_NAME" && -n "$RECEIVE_EXTRACTED_NAME" ]]; then
echo "보내는 PR 추출된 이름: $MERGED_EXTRACTED_NAME / 받는 PR 추출된 이름: $RECEIVE_EXTRACTED_NAME"
echo "::set-output name=merged_branch_name::deploy/$MERGED_EXTRACTED_NAME <- $RECEIVE_EXTRACTED_NAME"
else
echo "추출할 이름이 없습니다."
exit 0
fi
- name: Update PR Title
run: |
PR_NUMBER="${{ github.event.pull_request.number }}" # 업데이트할 PR 번호
NEW_TITLE="${{ steps.merged_branch_name.outputs.merged_branch_name }} ${{ steps.pr_title.outputs.pr_title }}"
# GitHub API를 사용하여 PR 제목 업데이트
curl -X PATCH \
-H "Accept: application/vnd.github.v3+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-d "{\"title\":\"$NEW_TITLE\"}" \
"https://api.github.com/repos/${{ github.repository }}/pulls/$PR_NUMBER"
52 changes: 52 additions & 0 deletions .github/workflows/master_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: master pr title update

on:
pull_request:
branches:
- 'master'

permissions: write-all

jobs:
feature-pr-title-update:
runs-on: ubuntu-latest

steps:
- name: Check PR Title
id: pr_title
run: |
PR_TITLE=$(curl -sH "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" "https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}" | jq -r .title)
# PR 제목에 "master <- release/"로 시작되면 종료
if [[ "$PR_TITLE" == *"master <- release/"* ]]; then
echo "# PR 제목에 'master <- release/'로 시작하므로 종료합니다."
exit 0
else
echo "PR 제목이 'master <- release/'가 로 시작하지 않으므로 다음 스텝으로 진행합니다."
echo "::set-output name=pr_title::$PR_TITLE"
fi
- name: Get Issue Name
id: issue_name
run: |
# PR의 브랜치 이름 가져오기
BRANCH_NAME="${{ github.event.pull_request.head.ref }}"
echo "PR의 브랜치 이름: $BRANCH_NAME"
# 브랜치 이름에서 "release/{버전이름}/base" 중 {버전이름} 부분 추출
EXTRACTED_NAME=$(echo $BRANCH_NAME | awk -F/ '{print $2}')
if [[ -n "$EXTRACTED_NAME" ]]; then
echo "PR 추출된 이름: $EXTRACTED_NAME"
echo "::set-output name=issue_name::master <- release/$EXTRACTED_NAME"
else
echo "추출할 이름이 없습니다."
exit 0
fi
- name: Update PR Title
if: ${{ steps.issue_name.outputs.issue_name != '' && steps.pr_title.outputs.pr_title != '' }}
run: |
PR_NUMBER="${{ github.event.pull_request.number }}" # 업데이트할 PR 번호
NEW_TITLE="${{ steps.issue_name.outputs.issue_name }} ${{ steps.pr_title.outputs.pr_title }}"
# GitHub API를 사용하여 PR 제목 업데이트
curl -X PATCH \
-H "Accept: application/vnd.github.v3+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-d "{\"title\":\"$NEW_TITLE\"}" \
"https://api.github.com/repos/${{ github.repository }}/pulls/$PR_NUMBER"
37 changes: 17 additions & 20 deletions .github/workflows/release_test.yml
Original file line number Diff line number Diff line change
@@ -1,52 +1,49 @@
name: release pr title update
name: deploy pr title update

on:
pull_request:
branches:
- 'release/*/base'
- 'deploy/*/base'

permissions: write-all

jobs:
feature-pr-title-update:
deploy-pr-title-update:
runs-on: ubuntu-latest

steps:
- name: Check PR Title
id: pr_title
run: |
PR_TITLE=$(curl -sH "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" "https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}" | jq -r .title)
# PR 제목에 "release/, "<-", deploy/"가 포함되면 종료
if [[ "$PR_TITLE" == *"release/"* && "$PR_TITLE" == *"<-"* && "$PR_TITLE" == *"deploy/"* ]]; then
echo "# PR 제목에 'release/ <- deploy/'가 포함되므로 종료합니다."
# PR 제목이 "deploy <"로 시작하면 작업 종료
if [[ "$PR_TITLE" == "deploy <"* ]]; then
echo "PR 제목이 'deploy <'로 시작하므로 작업을 종료합니다."
exit 0
else
echo "PR 제목이 'release/ <- deploy/'가 포함되지 않으므로 다음 스텝으로 진행합니다."
echo "PR 제목이 'deploy <'로 시작하지 않으므로 다음 스텝으로 진행합니다."
echo "::set-output name=pr_title::$PR_TITLE"
fi
- name: Get Issue Name
id: issue_name
- name: Get Merged Branch Name
id: merged_branch_name
run: |
# PR의 브랜치 이름 가져오기
SEND_BRANCH_NAME="${{ github.event.pull_request.head.ref }}"
RECEIVE_BRANCH_NAME="${{ github.event.pull_request.base.ref }}"
echo "보내는 PR의 브랜치 이름: $SEND_BRANCH_NAME"
echo "받는 PR의 브랜치 이름: $RECEIVE_BRANCH_NAME"
# 브랜치 이름에서 "first/second/third" 중 second 부분 추출
SEND_EXTRACTED_NAME=$(echo $SEND_BRANCH_NAME | awk -F/ '{print $2}')
RECEIVE_EXTRACTED_NAME=$(echo $RECEIVE_BRANCH_NAME | awk -F/ '{print $2}')
if [[ -n "$SEND_EXTRACTED_NAME" && -n "$RECEIVE_EXTRACTED_NAME" ]]; then
echo "보내는 PR 추출된 이름: $SEND_EXTRACTED_NAME 받는 PR 추출된 이름: $RECEIVE_EXTRACTED_NAME"
echo "::set-output name=issue_name::release/$RECEIVE_EXTRACTED_NAME <- deploy/$SEND_EXTRACTED_NAME"
echo "보내는 브랜치 이름: $SEND_BRANCH_NAME / 받는 브랜치 이름: $RECEIVE_BRANCH_NAME"
# 브랜치 이름에서 "배포 이름" 부분 추출
SEND_EXTRACTED_NAME=$(echo "$SEND_BRANCH_NAME" | grep -oP 'AMZUAND-\d+')
RECEIVE_EXTRACTED_NAME=$(echo "$RECEIVE_BRANCH_NAME"| awk -F'/' '{print $2}')
if [[ -n "$RECEIVE_EXTRACTED_NAME" && -n "$SEND_EXTRACTED_NAME" ]]; then
echo "보내는 PR 추출된 이름: $SEND_EXTRACTED_NAME / 받는 PR 추출된 이름: $RECEIVE_EXTRACTED_NAME"
echo "::set-output name=merged_branch_name::deploy/$RECEIVE_EXTRACTED_NAME <- $SEND_EXTRACTED_NAME"
else
echo "추출할 이름이 없습니다."
exit 0
fi
- name: Update PR Title
if: ${{ steps.issue_name.outputs.issue_name != '' && steps.pr_title.outputs.pr_title != '' }}
run: |
PR_NUMBER="${{ github.event.pull_request.number }}" # 업데이트할 PR 번호
NEW_TITLE="${{ steps.issue_name.outputs.issue_name }} ${{ steps.pr_title.outputs.pr_title }}"
NEW_TITLE="${{ steps.merged_branch_name.outputs.merged_branch_name }} ${{ steps.pr_title.outputs.pr_title }}"
# GitHub API를 사용하여 PR 제목 업데이트
curl -X PATCH \
-H "Accept: application/vnd.github.v3+json" \
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,10 @@
[compose navigation](https://velog.io/@pwolong/Android-Compose-Navigation)
</div>

test



test
test