Skip to content

Commit

Permalink
add daily cronjob
Browse files Browse the repository at this point in the history
  • Loading branch information
madjin committed Dec 17, 2024
1 parent 07d6a9e commit 081e87a
Show file tree
Hide file tree
Showing 2 changed files with 451 additions and 6 deletions.
44 changes: 38 additions & 6 deletions .github/workflows/weekly-summaries.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
name: Contributor Updates
on:
schedule:
- cron: '0 19 * * 5' # Weekly on Friday at 2:00 PM EST
- cron: '0 19 1 * *' # Monthly on 1st at 2:00 PM EST
- cron: '0 19 * * *' # Daily at 5:00 PM EST
- cron: '0 19 * * 5' # Weekly on Friday at 5:00 PM EST
- cron: '0 19 4 * *' # Monthly on 4th at 5:00 PM EST
workflow_dispatch:

permissions:
Expand Down Expand Up @@ -39,9 +40,23 @@ jobs:
run: |
echo "TIMESTAMP=$(date +'%Y_%m_%d')" >> $GITHUB_ENV
echo "IS_MONTH_START=$(date +'%d')" >> $GITHUB_ENV
echo "IS_FRIDAY=$(date +'%u')" >> $GITHUB_ENV
- name: Fetch daily data
if: github.event.schedule != '0 19 * * 5' && github.event.schedule != '0 19 4 * *'
env:
GH_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }}
run: |
# Create directories
mkdir -p data/daily data/daily/history
# Fetch current data with timestamp
bash scripts/fetch_github.sh ai16z eliza --type prs --days 1 | tee data/daily/prs.json data/daily/history/prs_${TIMESTAMP}.json
bash scripts/fetch_github.sh ai16z eliza --type issues --days 1 | tee data/daily/issues.json data/daily/history/issues_${TIMESTAMP}.json
bash scripts/fetch_github.sh ai16z eliza --type commits --days 1 | tee data/daily/commits.json data/daily/history/commits_${TIMESTAMP}.json
- name: Fetch weekly data
if: github.event.schedule != '0 19 1 * *'
if: github.event.schedule == '0 19 * * 5'
env:
GH_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }}
run: |
Expand All @@ -54,7 +69,7 @@ jobs:
bash scripts/fetch_github.sh ai16z eliza --type commits --days 7 | tee data/weekly/commits.json data/weekly/history/commits_${TIMESTAMP}.json
- name: Fetch monthly data
if: github.event.schedule == '0 19 1 * *'
if: github.event.schedule == '0 19 4 * *'
env:
GH_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }}
run: |
Expand All @@ -65,23 +80,40 @@ jobs:
bash scripts/fetch_github.sh ai16z eliza --type prs --days 30 | tee data/monthly/prs.json data/monthly/history/prs_${TIMESTAMP}.json
bash scripts/fetch_github.sh ai16z eliza --type issues --days 30 | tee data/monthly/issues.json data/monthly/history/issues_${TIMESTAMP}.json
bash scripts/fetch_github.sh ai16z eliza --type commits --days 30 | tee data/monthly/commits.json data/monthly/history/commits_${TIMESTAMP}.json
- name: Process daily data
if: github.event.schedule != '0 19 * * 5' && github.event.schedule != '0 19 4 * *'
env:
GH_ACCESS_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: |
[ -f data/daily/contributors.json ] && mv data/daily/contributors.json data/daily/history/contributors_${TIMESTAMP}.json || true
[ -f data/daily/summary.json ] && mv data/daily/summary.json data/daily/history/summary_${TIMESTAMP}.json || true
[ -f data/daily/summary.md ] && mv data/daily/summary.md data/daily/history/summary_${TIMESTAMP}.md || true
python scripts/combine.py -p data/daily/prs.json -i data/daily/issues.json -c data/daily/commits.json -o data/daily/combined.json
python scripts/calculate_scores.py data/daily/combined.json data/daily/scored.json
python scripts/summarize.py data/daily/scored.json data/daily/contributors.json --model openai
python scripts/summarize_daily.py data/daily/contributors.json -t json data/daily/summary.json --model openai
python scripts/summarize_daily.py data/daily/contributors.json -t md data/daily/summary.md --model openai
- name: Process weekly data
if: github.event.schedule != '0 19 1 * *'
if: github.event.schedule == '0 19 * * 5'
env:
GH_ACCESS_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: |
[ -f data/weekly/contributors.json ] && mv data/weekly/contributors.json data/weekly/history/contributors_${TIMESTAMP}.json || true
python scripts/combine.py -p data/weekly/prs.json -i data/weekly/issues.json -c data/weekly/commits.json -o data/weekly/combined.json
python scripts/calculate_scores.py data/weekly/combined.json data/weekly/scored.json
python scripts/summarize.py data/weekly/scored.json data/weekly/contributors.json --model openai
- name: Process monthly data
if: github.event.schedule == '0 19 1 * *'
if: github.event.schedule == '0 19 4 * *'
env:
GH_ACCESS_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: |
[ -f data/monthly/contributors.json ] && mv data/monthly/contributors.json data/monthly/history/contributors_${TIMESTAMP}.json || true
python scripts/combine.py -p data/monthly/prs.json -i data/monthly/issues.json -c data/monthly/commits.json -o data/monthly/combined.json
python scripts/calculate_scores.py data/monthly/combined.json data/monthly/scored.json
python scripts/summarize.py data/monthly/scored.json data/monthly/contributors.json --model openai
Expand Down
Loading

0 comments on commit 081e87a

Please sign in to comment.