Merge PRs and Generate Problem Folders #1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Merge PRs and Generate Problem Folders | |
| on: | |
| schedule: | |
| - cron: '00 12 * * 1' # 월요일 21시 00분 KST (UTC 12:00) | |
| - cron: '00 10 * * 4' # 목요일 19시 00분 KST (UTC 10:00) | |
| - cron: '00 5 * * 5' # 금요일 14시 00분 KST (UTC 5:00) | |
| jobs: | |
| merge-prs-and-create-folders: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v3 | |
| - name: Set Up GitHub CLI | |
| uses: actions/setup-node@v3 | |
| with: | |
| node-version: '16' | |
| - name: Install GitHub CLI | |
| run: | | |
| sudo apt-get install gh -y | |
| echo "${{ secrets.GITHUB_TOKEN }}" | gh auth login --with-token | |
| - name: Merge All Open PRs | |
| run: | | |
| PR_LIST=$(gh pr list --state open --json number -q '.[].number') | |
| if [ -n "$PR_LIST" ]; then | |
| for PR in $PR_LIST; do | |
| echo "Merging PR #$PR..." | |
| gh pr merge $PR --squash --admin | |
| done | |
| else | |
| echo "No open PRs to merge." | |
| fi | |
| - name: Determine Next Test Folder | |
| id: determine-folder | |
| run: | | |
| LATEST_TEST=$(find live* -type d -name 'test[0-9]*' 2>/dev/null | sort | tail -n 1 | grep -o '[0-9]*$' || echo "0") | |
| NEXT_TEST=$((LATEST_TEST + 1)) | |
| LIVE_GROUP=$(((NEXT_TEST - 1) / 10)) | |
| echo "NEXT_TEST=test$NEXT_TEST" >> $GITHUB_ENV | |
| echo "LIVE_FOLDER=live$LIVE_GROUP" >> $GITHUB_ENV | |
| - name: Create Next Test Folder | |
| run: | | |
| mkdir -p $LIVE_FOLDER/$NEXT_TEST/{문제1,문제2,문제3} | |
| touch $LIVE_FOLDER/$NEXT_TEST/문제1/.gitkeep | |
| touch $LIVE_FOLDER/$NEXT_TEST/문제2/.gitkeep | |
| touch $LIVE_FOLDER/$NEXT_TEST/문제3/.gitkeep | |
| - name: Commit and Push Changes | |
| run: | | |
| git config --global user.name "GenerateBot" | |
| git config --global user.email "[email protected]" | |
| git pull origin main | |
| git add . | |
| NEXT_TEST_NUM=$(echo $NEXT_TEST | grep -o '[0-9]*') | |
| git commit -m "$NEXT_TEST_NUM차 폴더 생성" | |
| git push origin main |