Skip to content

Commit 9759ad2

Browse files
authored
CI: Reintroduce benchmark.yml (#469)
1 parent a2e3aaa commit 9759ad2

File tree

2 files changed

+51
-44
lines changed

2 files changed

+51
-44
lines changed

.github/workflows/benchmark.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Benchmark
2+
3+
on: [push, pull_request_target, workflow_dispatch]
4+
5+
jobs:
6+
benchmark:
7+
name: Performance regression check
8+
if: contains(toJSON(github.event.head_commit.message), 'Merge pull request ') == false
9+
runs-on: ubuntu-24.04
10+
steps:
11+
- uses: actions/checkout@v4
12+
- name: Test changed files
13+
id: changed-files
14+
uses: tj-actions/changed-files@v44
15+
with:
16+
files: |
17+
src/riscv.c
18+
src/decode.c
19+
src/emulate.c
20+
src/rv32_template.c
21+
src/rv32_constopt.c
22+
- name: install-dependencies
23+
if: ${{ steps.changed-files.outputs.any_changed == 'true' ||
24+
github.event_name == 'workflow_dispatch'}}
25+
run: |
26+
sudo pip3 install numpy --break-system-packages
27+
shell: bash
28+
- name: default build
29+
if: ${{ steps.changed-files.outputs.any_changed == 'true' ||
30+
github.event_name == 'workflow_dispatch'}}
31+
run: make ENABLE_SDL=0
32+
- name: Run benchmark
33+
if: ${{ steps.changed-files.outputs.any_changed == 'true' ||
34+
github.event_name == 'workflow_dispatch'}}
35+
run: |
36+
tests/bench-aggregator.py
37+
- name: Store benchmark results
38+
if: ${{ steps.changed-files.outputs.any_changed == 'true' ||
39+
github.event_name == 'workflow_dispatch'}}
40+
uses: benchmark-action/github-action-benchmark@v1
41+
with:
42+
name: Benchmarks
43+
tool: 'customBiggerIsBetter'
44+
output-file-path: benchmark_output.json
45+
github-token: ${{ secrets.RV32EMU_BENCH_TOKEN }}
46+
gh-repository: 'github.com/sysprog21/rv32emu-bench'
47+
gh-pages-branch: 'master'
48+
auto-push: true
49+
comment-always: true
50+
benchmark-data-dir-path: .

.github/workflows/main.yml

Lines changed: 1 addition & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,8 @@
11
name: CI
22

3-
on: [push, pull_request, workflow_dispatch]
3+
on: [push, pull_request]
44

55
jobs:
6-
benchmark:
7-
runs-on: ubuntu-24.04
8-
steps:
9-
- uses: actions/checkout@v4
10-
- name: Test changed files
11-
id: changed-files
12-
uses: tj-actions/changed-files@v44
13-
with:
14-
files: |
15-
src/riscv.c
16-
src/decode.c
17-
src/emulate.c
18-
src/rv32_template.c
19-
src/rv32_constopt.c
20-
- name: install-dependencies
21-
if: ${{ steps.changed-files.outputs.any_changed == 'true' ||
22-
github.event_name == 'workflow_dispatch'}}
23-
run: |
24-
sudo pip3 install numpy --break-system-packages
25-
shell: bash
26-
- name: default build
27-
if: ${{ steps.changed-files.outputs.any_changed == 'true' ||
28-
github.event_name == 'workflow_dispatch'}}
29-
run: make ENABLE_SDL=0
30-
- name: Run benchmark
31-
if: ${{ steps.changed-files.outputs.any_changed == 'true' ||
32-
github.event_name == 'workflow_dispatch'}}
33-
run: |
34-
tests/bench-aggregator.py
35-
- name: Store benchmark results
36-
if: ${{ steps.changed-files.outputs.any_changed == 'true' ||
37-
github.event_name == 'workflow_dispatch'}}
38-
uses: benchmark-action/github-action-benchmark@v1
39-
with:
40-
name: Benchmarks
41-
tool: 'customBiggerIsBetter'
42-
output-file-path: benchmark_output.json
43-
github-token: ${{ secrets.RV32EMU_BENCH_TOKEN }}
44-
gh-repository: 'github.com/sysprog21/rv32emu-bench'
45-
gh-pages-branch: 'master'
46-
auto-push: true
47-
comment-always: true
48-
benchmark-data-dir-path: .
496
detect-code-related-file-changes:
507
runs-on: ubuntu-22.04
518
outputs:

0 commit comments

Comments
 (0)