diff --git a/.github/workflows/jmeter-benchmarking.yaml b/.github/workflows/jmeter-benchmarking.yaml index bede762c2d..ad609e22b8 100644 --- a/.github/workflows/jmeter-benchmarking.yaml +++ b/.github/workflows/jmeter-benchmarking.yaml @@ -1,44 +1,56 @@ -name: Minimal setup +name: JMH Example on: push: + pull_request: branches: - main +# permissions: +# contents: write +# deployments: write + jobs: benchmark: + name: Run JMH benchmark example runs-on: ubuntu-latest steps: - - name: Continuous Benchmark - uses: benchmark-action/github-action-benchmark@v1.18.0 + - uses: actions/checkout@v3 + - uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: '11' + - name: Run benchmark + run: | + mvn clean verify + java -jar target/benchmarks.jar -wi 1 -i 3 -f 1 -rf json + + - name: Store benchmark result + uses: benchmark-action/github-action-benchmark@v1 + with: + name: JMH Benchmark + tool: 'jmh' + output-file-path: examples/java/jmh-result.json + # Use personal access token instead of GITHUB_TOKEN due to https://github.community/t/github-action-not-triggering-gh-pages-upon-push/16096 + github-token: ${{ secrets.GITHUB_TOKEN }} + auto-push: true + # Show alert with commit comment on detecting possible performance regression + alert-threshold: '200%' + comment-on-alert: true + fail-on-alert: true + # alert-comment-cc-users: '@michaelmior' -# jobs: -# benchmark: -# name: Performance regression check -# runs-on: ubuntu-latest -# steps: -# - uses: actions/checkout@v2 -# - uses: actions/setup-go@v4 -# with: -# go-version: "stable" -# # Run benchmark with `go test -bench` and stores the output to a file -# - name: Run benchmark -# run: go mod init && go test -bench 'BenchmarkFib' | tee output.txt -# # Download previous benchmark result from cache (if exists) -# - name: Download previous benchmark data -# uses: actions/cache@v1 -# with: -# path: ./cache -# key: ${{ runner.os }}-benchmark -# # Run `github-action-benchmark` action -# - name: Store benchmark result -# uses: benchmark-action/github-action-benchmark@v1 -# with: -# # What benchmark tool the output.txt came from -# tool: 'go' -# # Where the output from the benchmark tool is stored -# output-file-path: output.txt -# # Where the previous data file is stored -# external-data-json-path: ./cache/benchmark-data.json -# # Workflow will fail when an alert happens -# fail-on-alert: true -# # Upload the updated cache file for the next job by actions/cache + - name: Store benchmark result - separate results repo + uses: benchmark-action/github-action-benchmark@v1 + with: + name: JMH Benchmark + tool: 'jmh' + output-file-path: examples/java/jmh-result.json + # Use personal access token instead of GITHUB_TOKEN due to https://github.community/t/github-action-not-triggering-gh-pages-upon-push/16096 + github-token: ${{ secrets.BENCHMARK_ACTION_BOT_TOKEN }} + auto-push: true + # Show alert with commit comment on detecting possible performance regression + alert-threshold: '200%' + comment-on-alert: true + fail-on-alert: true + # alert-comment-cc-users: '@michaelmior' + gh-repository: 'github.com/benchmark-action/github-action-benchmark-results' \ No newline at end of file