Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
18 changes: 15 additions & 3 deletions .github/workflows/ion-java-performance-regression-detector.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
name: Ion Java performance regression detector

on:
workflow_dispatch:
pull_request:
paths:
- 'src/**'
Expand All @@ -14,7 +15,7 @@ permissions:
env:
data_size: '50000'
test_data_id: 'generated-test-data'
benchmark_config: '--mode AverageTime --forks 5 --warmups 2 --iterations 3 --io-type buffer'
benchmark_config: '--mode AverageTime --forks 3 --warmups 5 --iterations 7 --io-type buffer'

jobs:
generate-test-data:
Expand Down Expand Up @@ -124,18 +125,29 @@ jobs:
run: |
./gradlew clean publishToMavenLocal

- name: Benchmark ion-java from the base commit
# Maven logs cloud up the benchmark logs and make them hard to compare in the workflow logs.
# Build the benchmark-cli in a separate step.
- name: Build ion-java-benchmark-cli from the base commit, prepare for benchmark
working-directory: ion-java-benchmark-cli
run: |
mvn clean install
mkdir /home/runner/work/ion-java/ion-java/benchmarkresults

- name: Benchmark ion-java from the base commit
working-directory: ion-java-benchmark-cli
run: |
java -jar target/ion-java-benchmark-cli-0.0.1-SNAPSHOT-jar-with-dependencies.jar ${{matrix.usage-patterns}} ${{env.benchmark_config}} -r ion -o /home/runner/work/ion-java/ion-java/benchmarkresults/before.ion /home/runner/work/ion-java/ion-java/testData/${{matrix.test-data}}.10n

- name: Build ion-java from the new commit
working-directory: new
run: |
./gradlew clean publishToMavenLocal

- name: Build ion-java-benchmark-cli from the new commit
working-directory: ion-java-benchmark-cli
run: |
mvn clean install

- name: Benchmark ion-java from the new commit
working-directory: ion-java-benchmark-cli
run: |
Expand All @@ -147,4 +159,4 @@ jobs:
working-directory: ion-java-benchmark-cli
run: |
a=$(java -jar target/ion-java-benchmark-cli-0.0.1-SNAPSHOT-jar-with-dependencies.jar compare --benchmark-result-previous /home/runner/work/ion-java/ion-java/benchmarkresults/before.ion --benchmark-result-new /home/runner/work/ion-java/ion-java/benchmarkresults/after.ion)
if [ ! -z "$a" ]; then echo "${a}" >> $GITHUB_STEP_SUMMARY; exit 1; fi
if [ ! -z "$a" ]; then echo "${a}" >> $GITHUB_STEP_SUMMARY; echo "${a}"; exit 1; fi
1 change: 1 addition & 0 deletions DELETE_ME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
temp change to test workflow
1 change: 1 addition & 0 deletions src/DELETE_ME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
trigger workflow?
Loading