Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
4818f3d
Add Foundry multi-version benchmarking suite
yash-atreya Jun 10, 2025
f43b5d9
Fix benchmark script JSON data extraction and table formatting
yash-atreya Jun 11, 2025
a8e28b1
parallel benchmarking
yash-atreya Jun 12, 2025
0a569d7
refac: mv to benches/ dir
yash-atreya Jun 12, 2025
09bfb57
feat: criterion benches
yash-atreya Jun 18, 2025
8a673c9
fix: install foundry versions at once
yash-atreya Jun 18, 2025
c1e52dd
nit
yash-atreya Jun 18, 2025
01f1af6
Merge branch 'master' into yash/foundry-benchmarking-suite
yash-atreya Jun 19, 2025
0dc8187
- setup benchmark repos in parallel
yash-atreya Jun 25, 2025
9f13124
feat: shell script to run benches
yash-atreya Jun 25, 2025
7d1d85a
feat: ci workflow, fix script
yash-atreya Jun 25, 2025
1a1587a
Merge branch 'yash/foundry-benchmarking-suite' into yash/criterion-be…
yash-atreya Jun 25, 2025
b667106
update readme
yash-atreya Jun 26, 2025
a396202
feat: enhance benchmarking suite with version flexibility
yash-atreya Jun 27, 2025
fcba242
latest bench
yash-atreya Jun 27, 2025
858d8d9
rm notes
yash-atreya Jun 27, 2025
44835cf
remove shell based bench suite
yash-atreya Jun 27, 2025
64baae2
feat: benches using criterion (#10805)
yash-atreya Jun 27, 2025
792c592
unified benchmarker -
yash-atreya Jun 30, 2025
b18141d
parallel bench
yash-atreya Jun 30, 2025
35d9861
refac
yash-atreya Jul 1, 2025
2392590
refac benchmark results table generation
yash-atreya Jul 1, 2025
4f896ae
cleanup main.rs
yash-atreya Jul 1, 2025
7edb40e
rm dep
yash-atreya Jul 1, 2025
d0a1525
cleanup main.rs
yash-atreya Jul 1, 2025
03b54fd
deser estimate
yash-atreya Jul 1, 2025
6c82d2f
nit
yash-atreya Jul 1, 2025
ca5f86c
cleanup CriterionResult type
yash-atreya Jul 1, 2025
6a010de
feat: specify repos via flag
yash-atreya Jul 1, 2025
c453bca
Merge branch 'yash/unified-benchmark-runner' into yash/foundry-benchm…
yash-atreya Jul 1, 2025
0a58ecc
nits
yash-atreya Jul 1, 2025
c395527
update bench ci and README
yash-atreya Jul 1, 2025
fdd948a
Merge branch 'master' into yash/foundry-benchmarking-suite
yash-atreya Jul 1, 2025
ad5ef6e
bench fuzz tests
yash-atreya Jul 1, 2025
afcf3ed
fmt
yash-atreya Jul 1, 2025
ed82d8a
license
yash-atreya Jul 1, 2025
4dac5c3
coverage bench
yash-atreya Jul 1, 2025
3887370
nits
yash-atreya Jul 1, 2025
cbd17d8
clippy
yash-atreya Jul 1, 2025
4fa2315
clippy
yash-atreya Jul 1, 2025
afc236b
separate benches into different jobs in CI
yash-atreya Jul 2, 2025
3c1c8cb
remove criterion
yash-atreya Jul 3, 2025
51d10b5
feat: hyperfine setup in foundry-bench
yash-atreya Jul 3, 2025
a79409d
forge version details: hash and date
yash-atreya Jul 3, 2025
354a8fe
run benches again - run cov with --ir-min
yash-atreya Jul 4, 2025
3666090
del
yash-atreya Jul 4, 2025
fcd2d82
bench in separate ci jobs
yash-atreya Jul 4, 2025
51225d6
move combine bench results logic to scripts
yash-atreya Jul 4, 2025
f23b52b
setup foundryup in ci
yash-atreya Jul 4, 2025
09a174d
setup foundryup fix
yash-atreya Jul 4, 2025
3bbc762
clippy
yash-atreya Jul 4, 2025
7335a6e
ci: run on foundry-runner
yash-atreya Jul 7, 2025
fcbaddc
ci: don't use wget
yash-atreya Jul 7, 2025
34e0c7e
ci: add build essential
yash-atreya Jul 7, 2025
0d3aa3b
ci: nodejs and npm
yash-atreya Jul 7, 2025
8228529
install hyperfine for each job
yash-atreya Jul 7, 2025
eef0a5f
fix
yash-atreya Jul 7, 2025
3a7fab7
install deps script
yash-atreya Jul 8, 2025
2b327cd
add benchmark-setup, using setup-node action, remove redundant files
yash-atreya Jul 8, 2025
541cd48
fix
yash-atreya Jul 8, 2025
834be01
fix
yash-atreya Jul 8, 2025
f314721
checkout repo
yash-atreya Jul 8, 2025
51efad3
nits
yash-atreya Jul 9, 2025
cc7977f
Merge branch 'master' into yash/foundry-benchmarking-suite
yash-atreya Jul 9, 2025
bdca555
nit
yash-atreya Jul 9, 2025
236da6b
fix
yash-atreya Jul 11, 2025
88e45c7
show forge test result in top comment
yash-atreya Jul 11, 2025
24ce0a2
force foundry install
yash-atreya Jul 11, 2025
1f4cfdf
fix bench comment aggregation
yash-atreya Jul 11, 2025
178f3c5
nit
yash-atreya Jul 11, 2025
c47af23
fix
yash-atreya Jul 11, 2025
a2252fc
feat: create PR for manual runs, else commit in the PR itself.
yash-atreya Jul 11, 2025
609ba81
fix
yash-atreya Jul 11, 2025
42a553a
fetch and pull
yash-atreya Jul 11, 2025
c4b707f
chore(`benches`): update benchmark results
actions-user Jul 11, 2025
7472110
fix
yash-atreya Jul 11, 2025
4acd4f7
chore(`benches`): update benchmark results
actions-user Jul 11, 2025
7b49712
Merge branch 'master' into yash/foundry-benchmarking-suite
yash-atreya Jul 11, 2025
81cef23
chore(`benches`): update benchmark results
actions-user Jul 11, 2025
8de8549
don't run on PRs
yash-atreya Jul 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix
  • Loading branch information
yash-atreya committed Jul 11, 2025
commit 609ba817da9a86b71193b2bd63b32c57a380d24c
23 changes: 22 additions & 1 deletion .github/scripts/commit-and-read-benchmarks.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ OUTPUT_DIR="${1:-benches}"
GITHUB_EVENT_NAME="${2:-pull_request}"
GITHUB_REPOSITORY="${3:-}"

# Global variable for branch name
BRANCH_NAME=""

# Function to commit benchmark results
commit_results() {
echo "Configuring git..."
Expand All @@ -28,7 +31,25 @@ commit_results() {
Co-Authored-By: github-actions <[email protected]>"

echo "Pushing to repository..."
git push
if [ "$GITHUB_EVENT_NAME" = "workflow_dispatch" ]; then
# For manual runs, we're on a new branch
git push origin "$BRANCH_NAME"
elif [ "$GITHUB_EVENT_NAME" = "pull_request" ]; then
# For PR runs, we need to push to the PR branch
# GitHub Actions provides the branch name in GITHUB_HEAD_REF
if [ -n "${GITHUB_HEAD_REF:-}" ]; then
echo "Pushing to PR branch: $GITHUB_HEAD_REF"
git push origin "HEAD:refs/heads/$GITHUB_HEAD_REF"
else
echo "Error: GITHUB_HEAD_REF not set for pull_request event"
exit 1
fi
else
# This workflow should only run on workflow_dispatch or pull_request
echo "Error: Unexpected event type: $GITHUB_EVENT_NAME"
echo "This workflow only supports 'workflow_dispatch' and 'pull_request' events"
exit 1
fi
echo "Successfully pushed benchmark results"
fi
}
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,8 @@ jobs:

- name: Commit and read benchmark results
id: benchmark_results
env:
GITHUB_HEAD_REF: ${{ github.head_ref }}
run: ./.github/scripts/commit-and-read-benchmarks.sh benches "${{ github.event_name }}" "${{ github.repository }}"

- name: Push branch for manual runs
Expand Down
Loading