Skip to content

feat: benchmark App::update() #24

feat: benchmark App::update()

feat: benchmark App::update() #24

Workflow file for this run

name: Test new code
on:
# Run whenever this workflow is changed on the main branch.
push:
branches: [main]
# Run whenever a PR is opened or updated, but do not upload results.
pull_request:
# Allow running manually.
workflow_dispatch:
jobs:
run-bench-suite:
name: Run benchmark suite
uses: ./.github/workflows/bench-suite.yml
upload-to-bencher-dry:
name: Upload results to Bencher in a dry run
runs-on: ubuntu-latest
needs: run-bench-suite
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Bencher
uses: bencherdev/bencher@main
- name: Download benchmark results
uses: actions/download-artifact@v4
with:
name: benchmark-results
- name: Download file size binaries
uses: actions/download-artifact@v4
with:
name: file-size
path: file-size
- name: Find Bevy hash
id: bevy-hash
uses: ./.github/actions/extract-hash
with:
metadata: ${{ needs.run-bench-suite.outputs.bevy-metadata }}
- name: Upload benchmarks to Bencher
env:
BENCHER_PROJECT: bevy
BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }}
BENCHER_TESTBED: github-actions
run: |
bencher run \
--dry-run \
--adapter rust_criterion \
--hash ${{ steps.bevy-hash.outputs.hash }} \
--file results.txt
- name: Upload file sizes to Bencher
env:
BENCHER_PROJECT: bevy
BENCHER_API_TOKEN: ${{ secrets.BENCHER_API_TOKEN }}
BENCHER_TESTBED: github-actions
run: |
bencher run \
--dry-run \
--adapter json \
--hash ${{ steps.bevy-hash.outputs.hash }} \
--file-size file-size/default \
--file-size file-size/minimal \
--file-size file-size/empty