@@ -150,6 +150,58 @@ jobs:
150150 working-directory :
151151 if : ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}
152152
153+ # Separated from `make` job to avoid making it a required status check for now
154+ ruby-bench :
155+ strategy :
156+ matrix :
157+ include :
158+ # Test --call-threshold=2 with 2 iterations in total
159+ - ruby_opts : ' --zjit-call-threshold=2'
160+ bench_opts : ' --warmup=1 --bench=1'
161+ configure : ' --enable-zjit=dev_nodebug' # --enable-zjit=dev is too slow
162+
163+ runs-on : macos-14
164+
165+ if : >-
166+ ${{!(false
167+ || contains(github.event.head_commit.message, '[DOC]')
168+ || contains(github.event.pull_request.title, '[DOC]')
169+ || contains(github.event.pull_request.labels.*.name, 'Documentation')
170+ || (github.event_name == 'push' && github.event.pull_request.user.login == 'dependabot[bot]')
171+ )}}
172+
173+ steps :
174+ - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
175+
176+ - uses : ./.github/actions/setup/macos
177+
178+ - uses : ./.github/actions/setup/directories
179+ with :
180+ srcdir : src
181+ builddir : build
182+ makeup : true
183+
184+ - name : Run configure
185+ run : ../src/configure -C --disable-install-doc --prefix="$(pwd)/install" ${{ matrix.configure }}
186+
187+ - run : make install
188+
189+ - name : Checkout ruby-bench
190+ uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
191+ with :
192+ repository : ruby/ruby-bench
193+ path : ruby-bench
194+
195+ - name : Run ruby-bench
196+ run : ruby run_benchmarks.rb -e "zjit::../build/install/bin/ruby ${{ matrix.ruby_opts }}" ${{ matrix.bench_opts }}
197+ working-directory : ruby-bench
198+
199+ - uses : ./.github/actions/slack
200+ with :
201+ label : ruby-bench ${{ matrix.bench_opts }} ${{ matrix.ruby_opts }}
202+ SLACK_WEBHOOK_URL : ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot
203+ if : ${{ failure() }}
204+
153205defaults :
154206 run :
155207 working-directory : build
0 commit comments