diff --git a/.github/workflows/ion-java-performance-regression-detector.yml b/.github/workflows/ion-java-performance-regression-detector.yml index 8d6a394a2..5596d2c5a 100644 --- a/.github/workflows/ion-java-performance-regression-detector.yml +++ b/.github/workflows/ion-java-performance-regression-detector.yml @@ -4,6 +4,7 @@ name: Ion Java performance regression detector on: + workflow_dispatch: pull_request: paths: - 'src/**' @@ -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: @@ -124,11 +125,17 @@ 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 @@ -136,6 +143,11 @@ jobs: 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: | @@ -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 diff --git a/DELETE_ME b/DELETE_ME new file mode 100644 index 000000000..34feaf4af --- /dev/null +++ b/DELETE_ME @@ -0,0 +1 @@ +temp change to test workflow diff --git a/src/DELETE_ME b/src/DELETE_ME new file mode 100644 index 000000000..497a99b41 --- /dev/null +++ b/src/DELETE_ME @@ -0,0 +1 @@ +trigger workflow?