diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml new file mode 100644 index 0000000..0ed6e68 --- /dev/null +++ b/.github/workflows/update.yml @@ -0,0 +1,53 @@ +name: Update Rankings + +on: + pull_request: + paths: + - 'data/top50.md' + types: [opened, synchronize] + +jobs: + update: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Get previous top 10 + id: old + run: | + if git show HEAD^:data/top50.md > /tmp/old_top50.md 2>/dev/null; then + head -n 10 /tmp/old_top50.md | tr '\n' ';' > /tmp/old_top10.txt + cat /tmp/old_top10.txt + fi + OLD=$(cat /tmp/old_top10.txt 2>/dev/null || echo '') + echo "value=$OLD" >> $GITHUB_OUTPUT + + - name: Get current top 10 + id: new + run: | + head -n 10 data/top50.md | tr '\n' ';' > /tmp/new_top10.txt + cat /tmp/new_top10.txt + NEW=$(cat /tmp/new_top10.txt) + echo "value=$NEW" >> $GITHUB_OUTPUT + + - name: Check if top 10 changed + id: diff + run: | + if [ "${{ steps.old.outputs.value }}" != "${{ steps.new.outputs.value }}" ]; then + echo "changed=true" >> $GITHUB_OUTPUT + else + echo "changed=false" >> $GITHUB_OUTPUT + fi + + - name: Notify Slack if changed + if: steps.diff.outputs.changed == 'true' + uses: slackapi/slack-github-action@v1 + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + with: + payload: | + { + "text": "AgentOps Top-10 updated: ${{ steps.old.outputs.value }} → ${{ steps.new.outputs.value }} | PR: ${{ github.event.pull_request.html_url }}" + } + diff --git a/data/top50.md b/data/top50.md new file mode 100644 index 0000000..d60240b --- /dev/null +++ b/data/top50.md @@ -0,0 +1,13 @@ +| Rank | Repository | Stars | Last Commit | Score | +|------|-----------|-------|-------------|-------| +| 1 | repo1 | 1000 | 2025-01-01 | 90 | +| 2 | repo2 | 900 | 2025-01-02 | 88 | +| 3 | repo3 | 800 | 2025-01-03 | 87 | +| 4 | repo4 | 700 | 2025-01-04 | 86 | +| 5 | repo5 | 600 | 2025-01-05 | 85 | +| 6 | repo6 | 500 | 2025-01-06 | 84 | +| 7 | repo7 | 400 | 2025-01-07 | 83 | +| 8 | repo8 | 300 | 2025-01-08 | 82 | +| 9 | repo9 | 200 | 2025-01-09 | 81 | +| 10 | repo10 | 100 | 2025-01-10 | 80 | +