1- name : Deploy leaderboard
1+ name : Publish leaderboard branch
22
33" on " :
44 push :
@@ -10,32 +10,42 @@ name: Deploy leaderboard
1010 workflow_dispatch :
1111
1212permissions :
13- contents : read
14- pages : write
15- id-token : write
16-
17- concurrency :
18- group : pages
19- cancel-in-progress : false
13+ contents : write
2014
2115jobs :
22- deploy :
23- environment :
24- name : github-pages
25- url : ${{ steps.deployment.outputs.page_url }}
16+ publish :
2617 runs-on : ubuntu-latest
2718 steps :
2819 - name : Checkout
2920 uses : actions/checkout@v4
21+ with :
22+ fetch-depth : 0
3023
31- - name : Configure Pages
32- uses : actions/configure-pages@v5
24+ - name : Publish leaderboard to gh-pages
25+ shell : bash
26+ run : |
27+ set -euo pipefail
28+ git config user.name "github-actions[bot]"
29+ git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
3330
34- - name : Upload artifact
35- uses : actions/upload-pages-artifact@v3
36- with :
37- path : leaderboard
31+ git fetch origin gh-pages --depth=1 || true
32+ rm -rf /tmp/twinrouterbench-pages
33+
34+ if git rev-parse --verify origin/gh-pages >/dev/null 2>&1; then
35+ git worktree add /tmp/twinrouterbench-pages origin/gh-pages
36+ else
37+ git worktree add --detach /tmp/twinrouterbench-pages
38+ git -C /tmp/twinrouterbench-pages rm -r . >/dev/null 2>&1 || true
39+ fi
40+
41+ rsync -a --delete --exclude ".git" leaderboard/ /tmp/twinrouterbench-pages/
42+ cd /tmp/twinrouterbench-pages
43+ git add -A
44+
45+ if git diff --cached --quiet; then
46+ echo "No leaderboard changes to publish."
47+ exit 0
48+ fi
3849
39- - name : Deploy to GitHub Pages
40- id : deployment
41- uses : actions/deploy-pages@v4
50+ git commit -m "Deploy leaderboard"
51+ git push origin HEAD:gh-pages
0 commit comments