Skip to content

Commit f97ae1b

Browse files
committed
minor refactor: run jmh tests also daily
1 parent 443686e commit f97ae1b

1 file changed

Lines changed: 91 additions & 0 deletions

File tree

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one or more
2+
# contributor license agreements. See the NOTICE file distributed with
3+
# this work for additional information regarding copyright ownership.
4+
# The ASF licenses this file to You under the Apache License, Version 2.0
5+
# (the "License"); you may not use this file except in compliance with
6+
# the License. You may obtain a copy of the License at
7+
#
8+
# http://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
16+
name: jmh-daily
17+
18+
on:
19+
schedule:
20+
- cron: '0 6 * * *' # 06:00 UTC daily
21+
workflow_dispatch:
22+
23+
permissions:
24+
contents: write # gh-pages push
25+
deployments: write
26+
issues: write # commit comments
27+
28+
jobs:
29+
benchmark:
30+
strategy:
31+
fail-fast: false
32+
matrix:
33+
include:
34+
- suite: bench
35+
pattern: '\\.bench\\.'
36+
indy: indy
37+
indyFlag: ''
38+
- suite: bench
39+
pattern: '\\.bench\\.'
40+
indy: classic
41+
indyFlag: '-Pindy=false'
42+
- suite: core
43+
pattern: '\\.perf\\.[A-Z]'
44+
indy: indy
45+
indyFlag: ''
46+
- suite: core
47+
pattern: '\\.perf\\.[A-Z]'
48+
indy: classic
49+
indyFlag: '-Pindy=false'
50+
- suite: grails
51+
pattern: '\\.perf\\.grails\\.'
52+
indy: indy
53+
indyFlag: ''
54+
- suite: grails
55+
pattern: '\\.perf\\.grails\\.'
56+
indy: classic
57+
indyFlag: '-Pindy=false'
58+
runs-on: ubuntu-latest
59+
env:
60+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
61+
steps:
62+
- uses: actions/checkout@v6
63+
- uses: actions/setup-java@v5
64+
with:
65+
distribution: 'zulu'
66+
java-version: 21
67+
check-latest: true
68+
- uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5.0.2
69+
70+
- name: JMH (${{ matrix.suite }} ${{ matrix.indy }})
71+
run: ./gradlew perf:jmh -PbenchInclude=${{ matrix.pattern }} ${{ matrix.indyFlag }} -PjmhResultFormat=JSON
72+
timeout-minutes: 60
73+
74+
- name: Publish to dashboard
75+
uses: benchmark-action/github-action-benchmark@v1
76+
with:
77+
tool: 'jmh'
78+
output-file-path: subprojects/performance/build/results/jmh/results.json
79+
benchmark-data-dir-path: dev/bench/jmh/${{ matrix.suite }}/${{ matrix.indy }}
80+
gh-pages-branch: gh-pages
81+
auto-push: true
82+
comment-always: true
83+
alert-threshold: '120%'
84+
fail-on-alert: false
85+
github-token: ${{ secrets.GITHUB_TOKEN }}
86+
87+
- name: Upload reports-jmh-${{ matrix.suite }}-${{ matrix.indy }}
88+
uses: actions/upload-artifact@v7
89+
with:
90+
name: reports-jmh-${{ matrix.suite }}-${{ matrix.indy }}
91+
path: subprojects/performance/build/results/jmh/

0 commit comments

Comments
 (0)