diff options
| author | Dante Niewenhuis <d.niewenhuis@hotmail.com> | 2026-05-21 21:44:27 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-21 21:44:27 +1000 |
| commit | 01e809146e8f19f58faf3a808ea994107730738d (patch) | |
| tree | 02e48217894b25df8bdd7d526298b58d0ef407f8 /.github/workflows | |
| parent | 816332cbaf256c405a109d8cc16fec8f15df907e (diff) | |
Updated the benchmark submit to push to a release file (#425)
Diffstat (limited to '.github/workflows')
| -rw-r--r-- | .github/workflows/benchmark-comment.yml | 8 | ||||
| -rw-r--r-- | .github/workflows/benchmark.yml | 34 |
2 files changed, 23 insertions, 19 deletions
diff --git a/.github/workflows/benchmark-comment.yml b/.github/workflows/benchmark-comment.yml index c095162e..7f67f0f3 100644 --- a/.github/workflows/benchmark-comment.yml +++ b/.github/workflows/benchmark-comment.yml @@ -43,11 +43,13 @@ jobs: id: pr run: echo "number=$(cat pr-number.txt)" >> "$GITHUB_OUTPUT" - - name: Fetch baseline from benchmark-data branch + - name: Fetch baseline from benchmark-data release run: | - git fetch origin benchmark-data 2>/dev/null || true - git show origin/benchmark-data:benchmark-history.json > baseline.json 2>/dev/null \ + gh release download benchmark-data --asset benchmark-history.json \ + --output baseline.json 2>/dev/null \ || echo "[]" > baseline.json + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Generate comparison comment run: | 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 }} |
