diff options
Diffstat (limited to '.github/workflows/benchmark.yml')
| -rw-r--r-- | .github/workflows/benchmark.yml | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 69c3164f..d76c457c 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -58,7 +58,7 @@ jobs: path: pr-number.txt retention-days: 1 - # ── Master push: store results on the benchmark-data branch ────────────────── + # ── Master push: store results in the benchmark-data GitHub Release ─────────── store-results: name: Store benchmark results if: github.event_name == 'push' @@ -77,27 +77,29 @@ jobs: name: benchmark-results path: current-results - - name: Check out or create benchmark-data branch + - name: Download existing benchmark history run: | - git fetch origin benchmark-data 2>/dev/null || true - if git rev-parse --verify origin/benchmark-data 2>/dev/null; then - git worktree add benchmark-data-dir origin/benchmark-data - else - git worktree add --orphan -b benchmark-data benchmark-data-dir - fi + gh release download benchmark-data --asset benchmark-history.json \ + --output existing-history.json 2>/dev/null \ + || echo "[]" > existing-history.json + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Update history run: | python .github/scripts/update_history.py \ current-results/results.json \ - benchmark-data-dir \ + existing-history.json \ + updated-history.json \ "${{ github.sha }}" - - name: Commit and push + - name: Upload to release run: | - git -C benchmark-data-dir config user.name "github-actions[bot]" - git -C benchmark-data-dir config user.email "github-actions[bot]@users.noreply.github.com" - git -C benchmark-data-dir add benchmark-history.json - git -C benchmark-data-dir commit \ - -m "chore: benchmark results for ${{ github.sha }}" - git -C benchmark-data-dir push origin HEAD:benchmark-data + gh release upload benchmark-data updated-history.json \ + --name benchmark-history.json --clobber 2>/dev/null \ + || gh release create benchmark-data \ + --title "Benchmark Data" \ + --notes "Permanent storage for benchmark history. Managed automatically by CI." \ + updated-history.json#benchmark-history.json + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
