summaryrefslogtreecommitdiff
path: root/.github/workflows/benchmark.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/benchmark.yml')
-rw-r--r--.github/workflows/benchmark.yml34
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 }}