Skip to content

Odd Even Linked List #1

Odd Even Linked List

Odd Even Linked List #1

Workflow file for this run

name: 이슈 닫힘 시 LeetCode 파일 생성
on:
issues:
types: [closed]
permissions:
contents: write
jobs:
create_leetcode_file:
runs-on: ubuntu-latest
steps:
- name: 이슈에 LeetCode 라벨이 있는지 확인
id: check_label
uses: actions/github-script@v6
with:
script: |
const labels = context.payload.issue.labels;
const hasLabel = labels.some(label => label.name === 'LeetCode');
core.setOutput('hasLabel', hasLabel);
- name: LeetCode 라벨이 없으면 중지
if: steps.check_label.outputs.hasLabel != 'true'
run: |
echo "이슈에 LeetCode 라벨이 없습니다. 작업을 종료합니다."
exit 0
- name: 레포지토리 체크아웃
uses: actions/checkout@v3
- name: 이슈 상세 정보 가져오기
id: issue_details
uses: actions/github-script@v6
with:
script: |
const issue = context.payload.issue;
core.setOutput('title', issue.title);
core.setOutput('body', issue.body);
core.setOutput('number', issue.number);
- name: 이슈 본문에서 코드 추출
id: extract_code
run: |
echo '이슈 본문에서 코드를 추출합니다...'
echo "${{ steps.issue_details.outputs.body }}" > issue_body.txt
code=$(sed -n '/```cpp/,/```/p' issue_body.txt | sed '/```/d')
echo "$code" > code.cpp
- name: LeetCode 폴더에 파일 생성
run: |
mkdir -p LeetCode
title="${{ steps.issue_details.outputs.title }}"
# 파일명 정리: 소문자 변환, 공백은 밑줄로, 유효하지 않은 문자 제거
filename=$(echo "$title" | tr '[:upper:]' '[:lower:]' | tr ' ' '_' | tr -cd '[:alnum:]_.-')
filepath="LeetCode/$filename.cpp"
mv code.cpp "$filepath"
- name: 변경 사항 커밋 및 푸시
uses: EndBug/add-and-commit@v9
with:
message: "이슈 #${{ steps.issue_details.outputs.number }}에서 LeetCode 솔루션 추가"
add: "LeetCode/*"
author_name: GitHub Action
author_email: [email protected]
committer_name: GitHub Action
committer_email: [email protected]
token: ${{ secrets.GITHUB_TOKEN }}