Skip to content

Commit 614f6e3

Browse files
committed
ci: use new ASV action
1 parent 6d839bd commit 614f6e3

File tree

1 file changed

+8
-71
lines changed

1 file changed

+8
-71
lines changed

.github/workflows/benchmark_pr.yml

Lines changed: 8 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,15 @@
1-
name: Benchmark a pull request
2-
31
on:
42
pull_request_target:
5-
branches:
6-
- main
3+
branches: [ main ]
74

85
permissions:
96
pull-requests: write
107

118
jobs:
12-
generate_plots:
13-
runs-on: ubuntu-latest
14-
15-
steps:
16-
- uses: actions/checkout@v4
17-
- uses: julia-actions/setup-julia@v2
18-
with:
19-
version: "1"
20-
- uses: julia-actions/cache@v2
21-
- name: Extract Package Name from Project.toml
22-
id: extract-package-name
23-
run: |
24-
PACKAGE_NAME=$(grep "^name" Project.toml | sed 's/^name = "\(.*\)"$/\1/')
25-
echo "::set-output name=package_name::$PACKAGE_NAME"
26-
- name: Build AirspeedVelocity
27-
env:
28-
JULIA_NUM_THREADS: 2
29-
run: |
30-
# Lightweight build step, as sometimes the runner runs out of memory:
31-
julia -e 'ENV["JULIA_PKG_PRECOMPILE_AUTO"]=0; import Pkg; Pkg.add(;url="https://github.com/MilesCranmer/AirspeedVelocity.jl.git")'
32-
julia -e 'ENV["JULIA_PKG_PRECOMPILE_AUTO"]=0; import Pkg; Pkg.build("AirspeedVelocity")'
33-
- name: Add ~/.julia/bin to PATH
34-
run: |
35-
echo "$HOME/.julia/bin" >> $GITHUB_PATH
36-
- name: Run benchmarks
37-
run: |
38-
echo $PATH
39-
ls -l ~/.julia/bin
40-
mkdir results
41-
benchpkg ${{ steps.extract-package-name.outputs.package_name }} --rev="${{github.event.repository.default_branch}},${{github.event.pull_request.head.sha}}" --url=${{ github.event.repository.clone_url }} --bench-on="${{github.event.pull_request.head.sha}}" --output-dir=results/ --exeflags="-O3 --threads=auto"
42-
- name: Create plots from benchmarks
43-
run: |
44-
mkdir -p plots
45-
benchpkgplot ${{ steps.extract-package-name.outputs.package_name }} --rev="${{github.event.repository.default_branch}},${{github.event.pull_request.head.sha}}" --npart=10 --format=png --input-dir=results/ --output-dir=plots/
46-
- name: Upload plot as artifact
47-
uses: actions/upload-artifact@v4
48-
with:
49-
name: plots
50-
path: plots
51-
- name: Create markdown table from benchmarks
52-
run: |
53-
benchpkgtable ${{ steps.extract-package-name.outputs.package_name }} --rev="${{github.event.repository.default_branch}},${{github.event.pull_request.head.sha}}" --input-dir=results/ --ratio > table.md
54-
echo '### Benchmark Results' > body.md
55-
echo '' >> body.md
56-
echo '' >> body.md
57-
cat table.md >> body.md
58-
echo '' >> body.md
59-
echo '' >> body.md
60-
echo '### Benchmark Plots' >> body.md
61-
echo 'A plot of the benchmark results have been uploaded as an artifact to the workflow run for this PR.' >> body.md
62-
echo 'Go to "Actions"->"Benchmark a pull request"->[the most recent run]->"Artifacts" (at the bottom).' >> body.md
63-
64-
- name: Find Comment
65-
uses: peter-evans/find-comment@v3
66-
id: fcbenchmark
67-
with:
68-
issue-number: ${{ github.event.pull_request.number }}
69-
comment-author: 'github-actions[bot]'
70-
body-includes: Benchmark Results
71-
72-
- name: Comment on PR
73-
uses: peter-evans/create-or-update-comment@v4
74-
with:
75-
comment-id: ${{ steps.fcbenchmark.outputs.comment-id }}
76-
issue-number: ${{ github.event.pull_request.number }}
77-
body-path: body.md
78-
edit-mode: replace
9+
bench:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: MilesCranmer/AirspeedVelocity.jl@action-overhaul
13+
with:
14+
julia-version: '1'
15+
exe-flags: '-O3'

0 commit comments

Comments
 (0)