Skip to content

Weekly Meetup Issue Creator #7

Weekly Meetup Issue Creator

Weekly Meetup Issue Creator #7

name: Weekly Meetup Issue Creator
on:
schedule:
- cron: '0 13 * * 0' # 매주 일요일 22:00 KST (13:00 UTC)
workflow_dispatch:
jobs:
create-meetup-issue:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Calculate Values and Create Issue
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# 1. 기준 설정 (2026-03-28이 280회)
BASE_DATE="2026-03-28"
BASE_COUNT=280
# 2. 타겟 날짜 계산 (일요일 실행 기준 +6일 = 다가오는 토요일)
TARGET_DATE=$(date -d "+6 days" +%Y-%m-%d)
# 3. 최근 이슈에서 본문(Body) 가져오기
# 가장 최근 생성된 이슈 1개의 본문을 추출합니다.
LATEST_BODY=$(gh issue list --state all --limit 1 --json body --jq '.[0].body')
# 4. 회차(Count) 계산
DAYS_DIFF=$(( ($(date -d "$TARGET_DATE" +%s) - $(date -d "$BASE_DATE" +%s)) / 86400 ))
WEEKS_DIFF=$(( DAYS_DIFF / 7 ))
NEXT_COUNT=$(( BASE_COUNT + WEEKS_DIFF ))
# 5. 연도 및 분기 계산
YEAR=$(date -d "$TARGET_DATE" +'%Y')
MONTH=$(date -d "$TARGET_DATE" +%-m)
QUARTER=$(((MONTH - 1) / 3 + 1))
MILESTONE="${YEAR} ${QUARTER}Q"
NEXT_TITLE="${NEXT_COUNT}th online meetup, ${TARGET_DATE}"
echo "Syncing content from latest issue..."
echo "Target Title: $NEXT_TITLE"
# 6. 새 이슈 생성 (이전 이슈 본문 적용)
gh issue create \
--title "$NEXT_TITLE" \
--body "$LATEST_BODY" \
--assignee "jongfeel" \
--label "$YEAR" \
--milestone "$MILESTONE"