Skip to content

Update ion-java-performance-regression-detector.yml #167

Update ion-java-performance-regression-detector.yml

Update ion-java-performance-regression-detector.yml #167

Workflow file for this run

name: Ion Java performance regression detector
on: [pull_request, push]
jobs:
detect-regression:
name: Detect Regression
runs-on: ubuntu-latest
steps:
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Checkout ion-java from the new commit.
uses: actions/checkout@v3
with:
path: ion-java
- name: Build ion-java from the new commit
run: |
cd ion-java && git submodule init && git submodule update && ./gradlew clean publishToMavenLocal
ls
- name: Checkout ion-java-benchmark-cli
uses: actions/checkout@v3
with:
repository: amazon-ion/ion-java-benchmark-cli
ref: master
path: ion-java-benchmark-cli
- name: Build ion-java-benchmark-cli
run: cd ion-java-benchmark-cli && mvn clean install
- name: Checkout ion-data-generator
uses: actions/checkout@v3
with:
repository: amazon-ion/ion-data-generator
ref: main
path: ion-data-generator
- name: Build ion-data-generator
run: cd ion-data-generator && mvn clean install
- name: Check the version of ion-java.
run: java -jar ion-java-benchmark-cli/target/ion-java-benchmark-cli-0.0.1-SNAPSHOT-jar-with-dependencies.jar --version
- name: Generate test Ion Data
run: |
mkdir -p testData
java -jar ion-data-generator/target/ion-data-generator-1.0-SNAPSHOT.jar generate -S 50000 --input-ion-schema ion-data-generator/tst/com/amazon/ion/workflow/nestedStruct.isl testData/testStructs.10n
- name: Upload test Ion Data to artifacts
uses: actions/upload-artifact@v2
with:
name: test Ion Data
path: testData
- name: Benchmark ion-java from the new commit
run: |
mkdir -p benchmarkResults
cd ion-java-benchmark-cli && java -jar target/ion-java-benchmark-cli-0.0.1-SNAPSHOT-jar-with-dependencies.jar write --api streaming --io-type buffer --warmups 4 --iterations 4 /home/runner/work/ion-java/ion-java/testData/testStructs.10n
- name: Store Benchmark Result
uses: benchmark-action/github-action-benchmark@v1
with:
name: JMH Benchmark
tool: 'customSmallerIsBetter'
output-file-path: '/home/runner/work/ion-java/ion-java/benchmarkResult.json'
github-token: ${{ secrets.GITHUB_TOKEN }}
gh-pages-branch: benchmark-result-gh-pages
auto-push: true
comment-always: true
comment-on-alert: true