Skip to content

Commit 46049ce

Browse files
committed
Merge branch 'master' into regalloc
* master: (381 commits) ZJIT: Implement include_p for opt_(new|dup)array_send YARV insns (ruby#14885) Avoid taking vm barrier in heap_prepare() (ruby#14425) [ruby/json] ext/json/ext/json.h: Add missing newline at end of file [ruby/json] Fix duplicate 'inline' declaration specifier [ruby/json] Fix check_dependency [ruby/json] parser.c: Always inline `json_eat_whitespace` [ruby/json] parser.c: use `rb_str_to_interned_str` over `rb_funcall` [ruby/json] parser.c: Extract `json_string_cacheable_p` [ruby/json] parser.c: simplify sorted insert loop in rstring_cache_fetch [ruby/json] parser.c: Skip checking for escape sequences in `rstring_cache_fetch` [ruby/json] Centralize macro definitions [DOC] Tweaks for String#to_f pend on Windows for timeouts Fix incorrect RUBY_DEBUG range Make Namespace.root visible not only for debugging Use CFUNC namespace only for IFUNC frames, its behavior should be unchanged Fix use of inappropriate debug flag Add flag to ignore EXPERIMENTAL warnings No need to call rb_define_class/module_under_id Add basic namespace tests ...
2 parents ffd06b6 + 8117600 commit 46049ce

File tree

289 files changed

+20537
-12511
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

289 files changed

+20537
-12511
lines changed

.github/auto_request_review.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ files:
1111
'doc/zjit*': [team:jit]
1212
'test/ruby/test_zjit*': [team:jit]
1313
'defs/jit.mk': [team:jit]
14+
'tool/zjit_bisect.rb': [team:jit]
1415
# Skip github workflow files because the team don't necessarily need to review dependabot updates for GitHub Actions. It's noisy in notifications, and they're auto-merged anyway.
1516
options:
1617
ignore_draft: true

.github/workflows/check_misc.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040

4141
- name: Check if C-sources are US-ASCII
4242
run: |
43-
grep -r -n --include='*.[chyS]' --include='*.asm' $'[^\t-~]' -- . && exit 1 || :
43+
grep -r -n --exclude-dir=vendor --include='*.[chyS]' --include='*.asm' $'[^\t-~]' -- . && exit 1 || :
4444
4545
- name: Check for bash specific substitution in configure.ac
4646
run: |
@@ -103,7 +103,7 @@ jobs:
103103
}}
104104
105105
- name: Upload docs
106-
uses: actions/upload-artifact@v4
106+
uses: actions/upload-artifact@v5
107107
with:
108108
path: html
109109
name: ${{ steps.docs.outputs.htmlout }}

.github/workflows/mingw.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ jobs:
6969
test-all-opts: '--name=!/TestObjSpace#test_reachable_objects_during_iteration/'
7070
- msystem: 'CLANGARM64'
7171
os: 11-arm
72-
test_task: 'test'
72+
test_task: 'check'
7373
fail-fast: false
7474

7575
if: >-

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ jobs:
7272
-H "Authorization: Bearer ${{ secrets.MATZBOT_GITHUB_WORKFLOW_TOKEN }}" \
7373
-H "Accept: application/vnd.github+json" \
7474
-H "X-GitHub-Api-Version: 2022-11-28" \
75-
https://api.github.com/repos/ruby/docker-images/dispatches \
76-
-d '{"event_type": "build", "client_payload": {"ruby_version": "${{ env.RUBY_VERSION }}"}}'
75+
https://api.github.com/repos/ruby/docker-images/actions/workflows/build.yml/dispatches \
76+
-d '{"ref": "master", "inputs": {"ruby_version": "${{ env.RUBY_VERSION }}"}}'
7777
7878
- name: Build snapcraft packages
7979
run: |

.github/workflows/scorecards.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ jobs:
6464
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
6565
# format to the repository Actions tab.
6666
- name: "Upload artifact"
67-
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
67+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
6868
with:
6969
name: SARIF file
7070
path: results.sarif

.github/workflows/ubuntu.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ jobs:
4040
- test_task: check
4141
os: ubuntu-24.04
4242
extra_checks: [capi]
43-
- test_task: check
44-
os: ubuntu-24.04-arm
45-
extra_checks: [capi]
43+
# ubuntu-24.04-arm jobs don't start on ruby/ruby as of 2025-10-29
44+
#- test_task: check
45+
# os: ubuntu-24.04-arm
4646
fail-fast: false
4747

4848
env: &make-env

.github/workflows/wasm.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ jobs:
140140
- run: tar cfz ../install.tar.gz -C ../install .
141141

142142
- name: Upload artifacts
143-
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
143+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
144144
with:
145145
name: ruby-wasm-install
146146
path: ${{ github.workspace }}/install.tar.gz
@@ -168,7 +168,7 @@ jobs:
168168
- name: Save Pull Request number
169169
if: ${{ github.event_name == 'pull_request' }}
170170
run: echo "${{ github.event.pull_request.number }}" >> ${{ github.workspace }}/github-pr-info.txt
171-
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
171+
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
172172
if: ${{ github.event_name == 'pull_request' }}
173173
with:
174174
name: github-pr-info

.github/workflows/zjit-macos.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,11 @@ jobs:
3636
run_opts: '--zjit-call-threshold=1'
3737
specopts: '-T --zjit-call-threshold=1'
3838
configure: '--enable-zjit=dev'
39-
test_all_opts: '--seed=46450'
4039

4140
- test_task: 'check'
4241
run_opts: '--zjit-disable-hir-opt --zjit-call-threshold=1'
4342
specopts: '-T --zjit-disable-hir-opt -T --zjit-call-threshold=1'
4443
configure: '--enable-zjit=dev'
45-
test_all_opts: '--seed=46450'
4644

4745
- test_task: 'zjit-check' # zjit-test + quick feedback of test_zjit.rb
4846
configure: '--enable-yjit=dev --enable-zjit'
@@ -127,7 +125,6 @@ jobs:
127125
TEST_BUNDLED_GEMS_ALLOW_FAILURES: ''
128126
SYNTAX_SUGGEST_TIMEOUT: '5'
129127
PRECHECK_BUNDLED_GEMS: 'no'
130-
TESTS: ${{ matrix.test_all_opts }}
131128
continue-on-error: ${{ matrix.continue-on-test_task || false }}
132129

133130
- name: Dump crash logs

.github/workflows/zjit-ubuntu.yml

Lines changed: 52 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,11 @@ jobs:
5555
run_opts: '--zjit-call-threshold=1'
5656
specopts: '-T --zjit-call-threshold=1'
5757
configure: '--enable-zjit=dev'
58-
test_all_opts: '--seed=39471'
5958

6059
- test_task: 'check'
6160
run_opts: '--zjit-disable-hir-opt --zjit-call-threshold=1'
6261
specopts: '-T --zjit-disable-hir-opt -T --zjit-call-threshold=1'
6362
configure: '--enable-zjit=dev'
64-
test_all_opts: '--seed=39471'
6563

6664
- test_task: 'zjit-check' # zjit-test + quick feedback of test_zjit.rb
6765
configure: '--enable-yjit --enable-zjit=dev'
@@ -116,7 +114,6 @@ jobs:
116114
117115
if: ${{ matrix.test_task == 'zjit-check' }}
118116

119-
120117
- uses: ./.github/actions/setup/directories
121118
with:
122119
srcdir: src
@@ -177,7 +174,6 @@ jobs:
177174
SYNTAX_SUGGEST_TIMEOUT: '5'
178175
ZJIT_BINDGEN_DIFF_OPTS: '--exit-code'
179176
CLANG_PATH: ${{ matrix.clang_path }}
180-
TESTS: ${{ matrix.test_all_opts }}
181177
continue-on-error: ${{ matrix.continue-on-test_task || false }}
182178

183179
- name: Dump crash logs
@@ -204,6 +200,58 @@ jobs:
204200
working-directory:
205201
if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}
206202

203+
# Separated from `make` job to avoid making it a required status check for now
204+
ruby-bench:
205+
strategy:
206+
matrix:
207+
include:
208+
# Test --call-threshold=2 with 2 iterations in total
209+
- ruby_opts: '--zjit-call-threshold=2'
210+
bench_opts: '--warmup=1 --bench=1'
211+
configure: '--enable-zjit=dev_nodebug' # --enable-zjit=dev is too slow
212+
213+
runs-on: ubuntu-24.04
214+
215+
if: >-
216+
${{!(false
217+
|| contains(github.event.head_commit.message, '[DOC]')
218+
|| contains(github.event.pull_request.title, '[DOC]')
219+
|| contains(github.event.pull_request.labels.*.name, 'Documentation')
220+
|| (github.event_name == 'push' && github.event.pull_request.user.login == 'dependabot[bot]')
221+
)}}
222+
223+
steps:
224+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
225+
226+
- uses: ./.github/actions/setup/ubuntu
227+
228+
- uses: ./.github/actions/setup/directories
229+
with:
230+
srcdir: src
231+
builddir: build
232+
makeup: true
233+
234+
- name: Run configure
235+
run: ../src/configure -C --disable-install-doc --prefix="$(pwd)/install" ${{ matrix.configure }}
236+
237+
- run: make install
238+
239+
- name: Checkout ruby-bench
240+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
241+
with:
242+
repository: ruby/ruby-bench
243+
path: ruby-bench
244+
245+
- name: Run ruby-bench
246+
run: ruby run_benchmarks.rb -e "zjit::../build/install/bin/ruby ${{ matrix.ruby_opts }}" ${{ matrix.bench_opts }}
247+
working-directory: ruby-bench
248+
249+
- uses: ./.github/actions/slack
250+
with:
251+
label: ruby-bench ${{ matrix.bench_opts }} ${{ matrix.ruby_opts }}
252+
SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot
253+
if: ${{ failure() }}
254+
207255
defaults:
208256
run:
209257
working-directory: build

0 commit comments

Comments
 (0)