Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
253 commits
Select commit Hold shift + click to select a range
6365c6c
Merge branch 'master' into sampersand/2025-10-29/update-hash
sampersand Mar 18, 2026
ebc88d7
Singleton methods done
sampersand Mar 26, 2026
2481c77
added all the untested methods as omits
sampersand Mar 26, 2026
44fc1d8
partway done with the already builtin unit tests; just finished const…
sampersand Mar 26, 2026
479ff0a
Finished polishing the already-extant methods
sampersand Mar 26, 2026
0fa137b
more methods updated, but tehre are some problems with warnings
sampersand Mar 26, 2026
bf2e8a9
added disable_verbose to disable verbose warnings when testing
sampersand Mar 26, 2026
34f9a76
good progress
sampersand Mar 26, 2026
39e6a65
gotta now fix assert visibility
sampersand Mar 28, 2026
86bbbe8
updates continued
sampersand Apr 2, 2026
b8ecab6
Bump actions/github-script from 8 to 9
dependabot[bot] Apr 14, 2026
2035b43
bugfix
sampersand Apr 14, 2026
6a26eec
updated docs
sampersand Apr 14, 2026
303cd56
Merge branch 'master' into sampersand/2025-10-29/update-hash
sampersand Apr 14, 2026
033ef08
update module
sampersand Apr 14, 2026
8008f35
Merge branch 'master' into swesterman/2026-03-25/update-module
sampersand Apr 14, 2026
205f42c
cleanup of assert_visibility
sampersand Apr 14, 2026
cac6a80
added hash_pair test
sampersand Apr 28, 2026
c994812
rename from Elem to T
sampersand Apr 29, 2026
7fff874
fix until rbs bundled one matches
sampersand Apr 29, 2026
84edc05
Convert character offset to byte offset in parse_inline_*_annotation
pjocprac May 1, 2026
6ce7767
Update docs/inline.md to match current inline parser behavior
ksss May 13, 2026
f8dc319
Group together loc setup in a nested scope
amomchilov May 4, 2026
3311cf3
Single-line `CLASS_NEW_INSTANCE()`
amomchilov May 4, 2026
79a1ced
Merge pull request #2947 from Shopify/Alex/tidy-ast-translation
soutaro May 14, 2026
9c502bd
Merge pull request #2953 from ksss/update-inline-docs
soutaro May 14, 2026
c7b7e5c
ci: declare workflow-level contents: read on 6 test/lint workflows
arpitjain099 May 14, 2026
6acc7f6
Deprecate prototype runtime
ksss May 16, 2026
a35ba9f
Flyweight TypeName / Namespace cached in a shared trie
tk0miya May 16, 2026
3810386
Merge pull request #2955 from arpitjain099/chore/declare-workflow-per…
soutaro May 18, 2026
177b1d8
Merge pull request #2932 from ruby/dependabot/github_actions/actions/…
soutaro May 18, 2026
ec1390f
Merge pull request #2957 from tk0miya/claude/memoize-hash-and-resolve…
soutaro May 18, 2026
1457537
bundle update
github-actions[bot] May 19, 2026
41b803b
Merge pull request #2958 from ruby/bundle-update-20260519-a1e3739d
soutaro May 19, 2026
d7ec839
Merge pull request #2867 from sampersand/swesterman/2026-03-05/rename…
soutaro May 20, 2026
e730243
Merge pull request #2694 from sampersand/sampersand/2025-10-29/update…
soutaro May 20, 2026
23c1d9f
Fix Resolv#initialize signature: array of resolvers + use_ipv6:
zonuexe May 20, 2026
9483bf6
Remove StringScanner methods absent from the latest Ruby release
zonuexe May 20, 2026
28b0a7a
Update the target Ruby version notes to the latest release
zonuexe May 20, 2026
7104006
initial ops commit
sampersand Apr 15, 2026
fb391d9
undo the optional self
sampersand May 20, 2026
32c671e
Merge pull request #2961 from zonuexe/fix/remove-obsolete-strscan-met…
ksss May 21, 2026
5e6c8b3
Merge pull request #2962 from zonuexe/docs/update-target-ruby-version
ksss May 21, 2026
fa84359
Merge pull request #2960 from zonuexe/fix/widen-resolv-sigs
ksss May 21, 2026
8cdfd11
Widen StringScanner#[] to accept named-capture String/Symbol keys
zonuexe May 20, 2026
3f807b4
Update StringScanner signatures to match strscan 3.1.6
zonuexe May 20, 2026
ee6642d
Split scan_full/search_full overloads by return_string_p
zonuexe May 21, 2026
2479202
Update Cargo.toml
soutaro May 21, 2026
7807b0c
Add ids module
soutaro May 21, 2026
fac08cd
Add StringInterner
soutaro May 21, 2026
b0d2358
Add TypeName
soutaro May 21, 2026
fcf2891
Merge pull request #2956 from ksss/deprecate-prototype-runtime
soutaro May 21, 2026
c0804a0
Correct core/stdlib signatures to match Ruby 4.0
zonuexe May 21, 2026
1abe17d
Merge pull request #2959 from zonuexe/fix/widen-strscan-sigs
ksss May 21, 2026
340e1f2
Add test code for StringScanner.
ksss May 21, 2026
ac0d8bf
Merge pull request #2968 from ksss/test-strscan-signatures
ksss May 22, 2026
e9612b4
Fix lexer infinite loop / abort on invalid UTF-8 byte
ksss May 25, 2026
6b98af4
Reject `start_pos > end_pos` in parser/lexer entrypoints
ksss May 25, 2026
6ee4ad0
bundle update
github-actions[bot] May 26, 2026
fcc1685
Merge pull request #2976 from ruby/bundle-update-20260526-326caac5
soutaro May 26, 2026
096e3c7
Clean up partial clone before falling back to full clone
zonuexe May 27, 2026
518edf2
Merge branch 'master' into fix/stdlib-signature-corrections
zonuexe May 28, 2026
12b95e4
Merge pull request #2967 from zonuexe/fix/stdlib-signature-corrections
ksss May 28, 2026
736dabb
Revert Digest::Class method changes
ksss May 28, 2026
2df177e
Merge pull request #2980 from ksss/fix-digest-class-delegation
ksss May 28, 2026
1582ce7
Compressed files must be opened in binary mode
nobu May 30, 2026
1f855f7
Update sig/unit_test/type_assertions.rbs
soutaro May 30, 2026
2a11d63
Merge pull request #2933 from sampersand/swesterman/2026-03-25/update…
soutaro May 30, 2026
81a3502
Merge pull request #2973 from ksss/ksss/fix-lexer-invalid-utf8
soutaro May 30, 2026
92fe9eb
Merge pull request #2978 from zonuexe/fix/collection-partial-clone-cl…
soutaro May 30, 2026
06f1a6e
Merge pull request #2981 from nobu/open-in-binmode
soutaro May 30, 2026
767e601
Expose rbs_parse_inline_{leading,trailing}_annotation in ruby-rbs-sys
ksss May 30, 2026
cc7c14b
Report invalid UTF-8 byte in a comment as a parsing error
ksss May 30, 2026
3f182ca
bundle update
github-actions[bot] Jun 2, 2026
88597ed
Merge pull request #2984 from ruby/bundle-update-20260602-033f3be4
soutaro Jun 2, 2026
7cc8a14
Revert timeout
ksss Jun 2, 2026
9ebddb0
Merge remote-tracking branch 'upstream/master' into ksss/fix-invalid-…
ksss Jun 2, 2026
204211c
Merge pull request #2974 from ksss/ksss/fix-invalid-position-range
ksss Jun 3, 2026
1dfe419
Merge pull request #2934 from sampersand/swesterman/2026-04-14/rbs-op…
soutaro Jun 4, 2026
d86c4d9
update singleton methods
sampersand May 23, 2026
b78cca3
started clean test harness
sampersand May 23, 2026
39f1051
did all operators
sampersand Jun 2, 2026
00b089d
query
sampersand Jun 2, 2026
9759d57
more simple ones
sampersand Jun 2, 2026
c655376
finished the array.rb methods
sampersand Jun 2, 2026
6e2f753
more updates
sampersand Jun 2, 2026
2be5b1d
more updates
sampersand Jun 2, 2026
a0b0898
minmax
sampersand Jun 2, 2026
7308511
doing all non-enumerables
sampersand Jun 2, 2026
e3ded4a
labeled enumerable tests
sampersand Jun 2, 2026
ad72251
more minor
sampersand Jun 2, 2026
4435088
most of the non-enumerables are done
sampersand Jun 3, 2026
be27cac
did all non-enumerables
sampersand Jun 3, 2026
4691c6d
finished array
sampersand Jun 3, 2026
21d3886
cleaned up most todos
sampersand Jun 5, 2026
d1bcab9
Merge pull request #2964 from ruby/rust-constant-pool-typename
soutaro Jun 6, 2026
783ee1e
Add owned Rust AST types
soutaro May 25, 2026
c5665f9
Add owned AST declarations and members
soutaro Jun 2, 2026
17ea0ed
Add owned AST directives
soutaro Jun 3, 2026
a12e0e8
Drop ModuleSelfAnnotation arm absent from pinned v4.0.2 AST
claude Jun 6, 2026
4de713c
Add stdlib signature tests for #2967
ksss Jun 9, 2026
ca95edb
`MatchData#[]` support `%a{implicitly-returns-nil}`
ksss Jun 9, 2026
ae7e1fb
update array to have warnings
sampersand Jun 9, 2026
4a08fb1
updated warning position
sampersand Jun 9, 2026
778ffd6
deprecate _Pattern
sampersand Jun 9, 2026
a814469
final clenaups
sampersand Jun 9, 2026
a401d94
Box ProcType in Type enum
claude Jun 10, 2026
e1373f0
Merge pull request #2985 from ruby/rust-ast
soutaro Jun 10, 2026
f503622
Merge branch 'master' into ksss/error-on-invalid-byte-in-comment
ksss Jun 15, 2026
f892030
Add constant drift test for platform-invariant core classes
zonuexe Jun 16, 2026
1c275f7
Remove stale Float::ROUNDS and Float::Infinity constants
zonuexe Jun 16, 2026
1827122
Skip build-conditional Integer::GMP_VERSION in the drift test
zonuexe Jun 16, 2026
fa6dfd1
Add TruffleRuby CI job
soutaro Jun 16, 2026
e8aa6a9
Initial commit---non-coerce, non-odd ones
sampersand Jun 16, 2026
676f8b4
other cleanups
sampersand Jun 16, 2026
9e5f33d
Skip TruffleRuby-incompatible tests and make the CI job required
soutaro Jun 16, 2026
76f3c23
Merge pull request #2996 from ruby/claude/adoring-albattani-6iiaey
soutaro Jun 16, 2026
c4cd271
Build the RBS parser as a WebAssembly module
claude Jun 16, 2026
7a0e2af
comment out omits
sampersand Jun 16, 2026
1914368
Allow nil output buffers for reader methods
Strech Jun 17, 2026
cb9ef2d
Fix flaky DirSingletonTest#test_fchdir under aggressive GC
hsbt Jun 18, 2026
4660929
Apply the same GC fix to DirSingletonTest#test_for_fd
hsbt Jun 18, 2026
a8f8f27
Merge pull request #3004 from hsbt/fix-dir-fchdir-flaky
soutaro Jun 18, 2026
7815577
Merge branch 'master' into allow-nil-output-buffer-for-reader-methods
Strech Jun 18, 2026
3dcd3ae
Merge pull request #2995 from sampersand/swesterman/2026-06-12/update…
soutaro Jun 19, 2026
7898d04
Update core/array.rbs
sampersand Jun 19, 2026
42065d5
Merge pull request #2989 from ksss/test-stdlib-signature-corrections
ksss Jun 19, 2026
adacd4e
Merge pull request #3002 from Strech/allow-nil-output-buffer-for-read…
soutaro Jun 20, 2026
6e67f21
Merge pull request #2998 from ruby/claude/practical-mendel-hnqws8
soutaro Jun 22, 2026
8f14905
Fix Lint/DuplicateMethods in StringIO_test.rb
claude Jun 22, 2026
954dc17
Merge pull request #3010 from ruby/claude/modest-lovelace-6tmymu
soutaro Jun 22, 2026
f8d1b67
Add binary serialization of the parsed AST
claude Jun 16, 2026
e4464c0
Merge pull request #2999 from ruby/claude/practical-mendel-hnqws8-2
soutaro Jun 22, 2026
7f40c79
Run the RBS parser on JRuby via WebAssembly
claude Jun 16, 2026
bca1f9c
Add `omit_on_jruby!` for C-extension-only tests
claude Jun 16, 2026
b2e04b7
Honor the source encoding in the WebAssembly parser
claude Jun 16, 2026
ab7bc6e
Fix WebAssembly parser hang and argument validation on JRuby
claude Jun 17, 2026
298f3cc
Compile the WebAssembly parser ahead of time on JRuby
claude Jun 17, 2026
223410f
Wire lex, type params and inline annotations through the WebAssembly …
claude Jun 17, 2026
7b1ac37
Let `rake test` run on JRuby
claude Jun 19, 2026
4af0cbe
Always require pathname
claude Jun 19, 2026
14777e3
Skip JRuby-incompatible tests in the suite
claude Jun 19, 2026
432c6ac
Run the full test suite on JRuby in CI
claude Jun 19, 2026
5021db6
Merge pull request #3000 from ruby/claude/practical-mendel-hnqws8-3
soutaro Jun 22, 2026
a9fe845
Merge pull request #3008 from ruby/claude/practical-mendel-hnqws8-4
soutaro Jun 22, 2026
26d961f
Fix gemspec to exclude `.vscode` files
soutaro Jun 22, 2026
274105d
Version 4.1.0.pre.2
soutaro Jun 22, 2026
4d6a4ee
Add `docs/release.md`
soutaro Jun 22, 2026
21884ba
Add Dockerfile to build and test the JRuby gem
soutaro Jun 22, 2026
2e65c38
Merge pull request #3011 from ruby/version-4.1.0.pre.2
soutaro Jun 22, 2026
0b3a192
Bump actions/checkout from 6 to 7
dependabot[bot] Jun 23, 2026
9a2c174
Merge pull request #3014 from ruby/dependabot/github_actions/actions/…
soutaro Jun 24, 2026
b4e9a28
change signature for bsearch
sampersand Jun 24, 2026
158c61b
Fix `Array.try_convert` type
soutaro Jun 24, 2026
179eee2
Merge pull request #2987 from sampersand/swesterman/2026-05-22/update…
soutaro Jun 24, 2026
f0e5042
Deprecate RDoc plugin parser
st0012 Jun 23, 2026
0fe3f81
Merge pull request #3016 from Shopify/codex/remove-rdoc-parser
soutaro Jun 24, 2026
b11bece
Bump actions/cache from 5 to 6
dependabot[bot] Jun 30, 2026
0af1d49
Rename `namespace` parameter to avoid C++ keyword conflict
claude Jul 8, 2026
c0c3160
Merge pull request #3023 from ruby/claude/ruby-c99-compile-fix-3azkaa
soutaro Jul 8, 2026
4058e12
Make RBS::Location write-barrier protected
claude Jul 8, 2026
7897597
Merge pull request #3022 from ruby/claude/location-minor-gc-skip-j5m0fx
soutaro Jul 8, 2026
529fecf
Fetch the JRuby parser jars from Maven instead of shipping them
claude Jul 14, 2026
4fce08d
Pin rdoc below 8 on the JRuby CI
claude Jul 14, 2026
33c0279
Merge pull request #3019 from ruby/claude/rbs-jruby-issue-rzltjw
soutaro Jul 15, 2026
b7c65d6
Merge pull request #2990 from ksss/match-data-aref-implicitly-returns…
soutaro Jul 15, 2026
1a5d844
Add a dependency on tempfile.
ksss Jul 17, 2026
12c4c5d
Merge branch 'master' into ksss/error-on-invalid-byte-in-comment
soutaro Jul 18, 2026
bf201ac
Add test for genuine U+FFFD in a comment parsing fine
soutaro Jul 18, 2026
f5c4131
Skip invalid-byte-in-comment test on TruffleRuby
soutaro Jul 18, 2026
ba19aa3
Merge pull request #3025 from ksss/tempfile
soutaro Jul 18, 2026
21b4424
Merge pull request #2983 from ksss/ksss/error-on-invalid-byte-in-comment
soutaro Jul 18, 2026
9ead93d
Merge pull request #2982 from ksss/ksss/expose-inline-annotation-ffi
soutaro Jul 18, 2026
b57f01c
Fix nested RBI prototype conversion
infiton Jul 21, 2026
d4c532f
Add RBI prototype type signatures
infiton Jul 21, 2026
33fb933
Guard against underflow when sysconf(_SC_PAGESIZE) returns 0
paracycle Jul 24, 2026
b9b76c1
Merge pull request #3031 from paracycle/fix/wasi-page-size-clamp
soutaro Jul 27, 2026
5e0d76a
Merge pull request #2945 from pjocprac/fix-parse-inline-annotation-by…
soutaro Jul 27, 2026
1d46eba
Merge branch 'master' into float-constant-drift
soutaro Jul 27, 2026
0078d60
Merge pull request #2994 from zonuexe/float-constant-drift
soutaro Jul 27, 2026
f26afe1
Merge branch 'master' into dependabot/github_actions/actions/cache-6
soutaro Jul 27, 2026
ac7a409
ci: report the milestone check in the merge queue
claude Jul 27, 2026
19f7d16
ci: run jruby, wasm and rust in the merge queue
claude Jul 27, 2026
cd84729
Merge pull request #3032 from ruby/claude/merge-queue-issue-mlvufi
soutaro Jul 27, 2026
f0e7749
Bump json from 2.19.7 to 2.19.9 in /steep
dependabot[bot] Jul 27, 2026
f8c783d
Merge pull request #3021 from ruby/dependabot/github_actions/actions/…
soutaro Jul 27, 2026
c7a4eac
Do not emit visibility sections for singleton members
claude Jul 27, 2026
73eb521
Merge pull request #3033 from ruby/dependabot/bundler/steep/json-2.19.9
soutaro Jul 27, 2026
2674c28
Update rdoc to 8.0.0
soutaro Jul 27, 2026
cd82fcf
ci: use Ruby 4.0.6 for RBS Comments workflow
soutaro Jul 27, 2026
bd24e79
Update RDoc comments with Ruby 4.0.6
soutaro Jul 27, 2026
4ca6229
Merge pull request #3029 from infiton/fix/rbi-nested-declarations
soutaro Jul 27, 2026
f4ecb8b
Merge pull request #3035 from ruby/claude/rdoc-comments-update-be6d28
soutaro Jul 27, 2026
10e3c8b
Update outdated versions used in CI
claude Jul 27, 2026
8aeb996
Merge pull request #3034 from ruby/claude/ci-ruby-version-check-4v4bw0
soutaro Jul 27, 2026
d73d078
Version 4.1.0
soutaro Jul 27, 2026
432d955
Merge pull request #3036 from ruby/version-4.1.0
soutaro Jul 27, 2026
0b32011
Apply `namespace` parameter rename to the template
soutaro Jul 28, 2026
a5710dc
Derive `confirm_templates` targets from the template list
soutaro Jul 28, 2026
20f747c
Version 4.1.1.pre
soutaro Jul 28, 2026
cc583d5
Merge pull request #3038 from ruby/fix-template-ci
soutaro Jul 28, 2026
a97c430
Mark `type_name` as optional on the alias annotations
soutaro Jul 28, 2026
aa48bf2
Merge pull request #3039 from ruby/alias-annotation-optional-type-name
soutaro Jul 28, 2026
0b88dde
Include the trailing `?` in a keyword key's symbol location
soutaro Jul 28, 2026
95c0e82
Merge pull request #3043 from ruby/keyword-key-question-location
soutaro Jul 29, 2026
02ca70e
Generate the changelog from the previous release tag
soutaro Jul 30, 2026
14580c0
Document preparing the release and starting the next cycle
soutaro Jul 30, 2026
7dfd4c9
Merge pull request #3045 from ruby/gem-changelog-task
soutaro Jul 30, 2026
6a44931
Remove the milestone check
soutaro Jul 30, 2026
83cd5a3
Merge pull request #3046 from ruby/remove-milestone-check
soutaro Jul 30, 2026
dcc7f05
Pick the changelog base from the version being released
soutaro Jul 30, 2026
6e1332b
Merge pull request #3048 from ruby/changelog-base-by-version
soutaro Jul 30, 2026
38f6990
Release the gems from a workflow
soutaro Jul 30, 2026
f6d395d
Merge pull request #3047 from ruby/build-gems-workflow
soutaro Jul 30, 2026
1da5f8f
Version 4.1.1.dev.1
claude Jul 30, 2026
8c52ddf
Merge pull request #3049 from ruby/claude/release-automation-4-1-1-de…
soutaro Jul 30, 2026
ac1fac9
Version 4.1.1.pre.1
soutaro Jul 30, 2026
8354e4a
Merge pull request #3051 from ruby/release-4.1.1.pre.1
soutaro Jul 30, 2026
6c10ad5
Version 4.1.1
soutaro Jul 30, 2026
c48d155
Merge pull request #3052 from ruby/release-4.1.1
soutaro Jul 30, 2026
9b151e3
Add the 4.0.3 section to the changelog
claude Jul 30, 2026
0acc0db
Merge pull request #3053 from ruby/claude/changelog-backfill-4-0-3
soutaro Jul 30, 2026
5cef414
Attribute a backported commit to the pull request it came from
claude Jul 30, 2026
5bbbf86
Merge pull request #3054 from ruby/claude/changelog-follow-cherry-picks
soutaro Jul 30, 2026
ed7be1d
Create the release tag in the workflow, from a commit and a version
claude Jul 30, 2026
45c9bb6
Do not require the released commit to be on the default branch
claude Jul 30, 2026
e834ace
Merge pull request #3055 from ruby/claude/gha-tag-push-method-cp52p2
soutaro Jul 30, 2026
99218e5
Version 4.1.2.dev.1
claude Jul 30, 2026
cef9765
Merge pull request #3056 from ruby/claude/release-4-1-2-dev-1-ktjm41
soutaro Jul 30, 2026
39d98d3
Unpin rdoc on the JRuby CI
claude Jul 30, 2026
ba38b2a
Merge pull request #3057 from ruby/claude/jruby-rdoc-8
soutaro Jul 30, 2026
34b1188
Say what the version on `master` means
claude Jul 30, 2026
1da55ae
Remove the release path that predates the release workflow
claude Jul 30, 2026
a8913a8
Document the JRuby container, and correct what pins the jar versions
claude Jul 30, 2026
c6eaca2
Merge pull request #3058 from ruby/claude/release-doc-new-minor
soutaro Jul 30, 2026
75bcf93
Fix GC_test#test_enable leaving GC disabled for the rest of the suite
ko1 Jul 30, 2026
7534c7e
Merge pull request #3059 from ko1/fix-gc-test-enable-restore
soutaro Jul 31, 2026
1630d1f
Keep GC disabled during GC_test#test_stress_and_stress=
claude Aug 3, 2026
c95a7c9
Merge pull request #3061 from ruby/claude/gc-stress-test-performance-…
soutaro Aug 3, 2026
d710ede
Version 4.1.2
claude Aug 3, 2026
2c39462
Merge pull request #3062 from ruby/claude/release-4-1-2-hurcyr
soutaro Aug 3, 2026
6e2ddb6
Say how the changelog is assembled without `gh`
claude Aug 3, 2026
d298bb7
Start 4.2 development
claude Aug 3, 2026
468f2f3
Merge pull request #3064 from ruby/claude/version-4-2-development-io9eyx
soutaro Aug 3, 2026
269a752
Merge pull request #3063 from ruby/claude/release-doc-mcp-changelog
soutaro Aug 3, 2026
1a8a8d0
Rename NODISCARD macro to RBS_NODISCARD
claude Aug 3, 2026
915b54f
Merge pull request #3065 from ruby/claude/rename-nodiscard-macro-tzvbf7
soutaro Aug 3, 2026
84f4fc2
Build the wasm module with -DNDEBUG
claude Aug 3, 2026
4752d54
Merge pull request #3066 from ruby/claude/wasm-ndebug-build-ytf7tz
soutaro Aug 3, 2026
6685d35
Update Rust parser to RBS 4.1.2
soutaro Aug 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Keep the build context small. .git is intentionally NOT ignored: rbs.gemspec
# builds its file list with `git ls-files`.
#
# Safe to ignore here: untracked/generated paths, and tracked paths the gemspec
# already rejects (so `gem build` does not expect them on disk). Do NOT ignore a
# tracked path the gemspec ships — `gem build` would fail with "... are not
# files". .vscode/ and benchmark/ are tracked but rejected by the gemspec.
.vscode/
benchmark/

# Editor / tooling / worktree copies (untracked; each is a full repo clone)
.claude/
trees/
.devcontainer/
.idea/
.ruby-lsp/
.yardoc/
doc/
datasets/
tmp/

# Build artifact — rebuilt inside the image by `rake wasm:jruby_setup`
lib/rbs/wasm/*.wasm
*.gem
ext/**/*.o
ext/**/*.so
ext/**/*.bundle
*.log

# Local scratch / experiment files
flamegraph.html
gc.html
foo.rbs
sorted.json
string.json
Gemfile-*
gemfiles/
2 changes: 1 addition & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ updates:
schedule:
interval: 'weekly'
labels:
- 'no-milestone'
- 'skip-changelog'
4 changes: 2 additions & 2 deletions .github/workflows/bundle-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7

- name: Set up Ruby
uses: ruby/setup-ruby@v1
Expand Down Expand Up @@ -58,6 +58,6 @@ jobs:
--body "Automated weekly bundle update" \
--head "$(git rev-parse --abbrev-ref HEAD)" \
--base "${{ github.event.repository.default_branch }}" \
--label "no-milestone"
--label "skip-changelog"

gh pr merge --auto --merge "$(git rev-parse --abbrev-ref HEAD)"
20 changes: 14 additions & 6 deletions .github/workflows/c-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,14 @@ on:
pull_request: {}
merge_group: {}

permissions:
contents: read

jobs:
format-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: ruby/setup-ruby@v1
with:
ruby-version: "4.0"
Expand All @@ -24,8 +27,13 @@ jobs:
sudo apt-get install -y libdb-dev curl autoconf automake m4 libtool
- name: Install clang-format from LLVM
run: |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-add-repository "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-20 main"
# The codename must match the `runs-on` image: `ubuntu-latest` is 24.04 (noble).
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key \
| sudo gpg --dearmor -o /usr/share/keyrings/llvm-archive-keyring.gpg
# Written directly rather than through `apt-add-repository`, which cannot
# parse `[signed-by=...]` inside a one-line `deb` shortcut.
echo "deb [signed-by=/usr/share/keyrings/llvm-archive-keyring.gpg] http://apt.llvm.org/noble/ llvm-toolchain-noble-20 main" \
| sudo tee /etc/apt/sources.list.d/llvm.list
sudo apt-get update
sudo apt-get install -y clang-format-20
sudo ln -sf /usr/bin/clang-format-20 /usr/local/bin/clang-format
Expand All @@ -35,9 +43,9 @@ jobs:
- name: Install Re2c
run: |
cd /tmp
curl -L https://github.com/skvadrik/re2c/archive/refs/tags/4.3.tar.gz > re2c-4.3.tar.gz
tar xf re2c-4.3.tar.gz
cd re2c-4.3
curl -L https://github.com/skvadrik/re2c/archive/refs/tags/4.5.1.tar.gz > re2c-4.5.1.tar.gz
tar xf re2c-4.5.1.tar.gz
cd re2c-4.5.1
cmake --preset=linux-gcc-release-ootree-skeleton-fast
cmake --build --preset=linux-gcc-release-ootree-skeleton-fast --parallel="$(nproc)"
sudo ln -sf "$(pwd)"/.build/linux-gcc-release-ootree-skeleton-fast/re2c /usr/local/bin/re2c
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/comments.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ jobs:
# env:
# RUBY_COMMIT: v4.0.0-preview2
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: ruby/setup-ruby@v1
with:
ruby-version: "4.0.1"
ruby-version: "4.0.6"
bundler: none
- name: Install dependencies
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
uses: dependabot/fetch-metadata@25dd0e34f4fe68f24cc83900b1fe3fe149efef98 # v3.1.0
id: metadata
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
fetch-depth: 0
- name: Abort if blocker files are changed
Expand Down
74 changes: 74 additions & 0 deletions .github/workflows/jruby.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: JRuby

on:
push:
branches:
- master
pull_request:
paths:
- ".github/workflows/jruby.yml"
- "include/**"
- "src/**"
- "wasm/**"
- "lib/**"
- "sig/**"
- "core/**"
- "stdlib/**"
- "test/**"
- "Rakefile"
- "rbs.gemspec"
# `merge_group` has no `paths` filter, so this runs on every queue entry.
merge_group: {}

permissions:
contents: read

env:
# Keep in sync with .github/workflows/wasm.yml.
WASI_SDK_VERSION: "33"
WASI_SDK_RELEASE: "33.0"

jobs:
test:
name: jruby
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*

# Build the .wasm and fetch the Chicory jars with CRuby + the WASI SDK,
# then run RBS itself on JRuby against those artifacts.
- name: Set up Ruby (to assemble the WebAssembly runtime)
uses: ruby/setup-ruby@v1
with:
ruby-version: ruby
bundler: none
- name: Update rubygems & bundler
run: gem update --system
- name: Install gems
run: |
bundle config set --local without libs:profilers
bundle install --jobs 4 --retry 3
- name: Install the WASI SDK
run: |
url="https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VERSION}/wasi-sdk-${WASI_SDK_RELEASE}-x86_64-linux.tar.gz"
mkdir -p "$HOME/wasi-sdk"
curl -sSL "$url" | tar xz --strip-components=1 -C "$HOME/wasi-sdk"
echo "WASI_SDK_PATH=$HOME/wasi-sdk" >> "$GITHUB_ENV"
- name: Build rbs_parser.wasm
run: bundle exec rake wasm:jruby_setup

- name: Set up JRuby
uses: ruby/setup-ruby@v1
with:
ruby-version: jruby
bundler: none
- name: Install runtime and test gems
run: gem install prism rake rake-compiler test-unit rdoc rspec minitest json-schema pry --no-document
# jar-dependencies resolves through the JVM, so download the Chicory/ASM
# jars into ~/.m2 here on JRuby (jar-dependencies is not available in the
# CRuby step above).
- name: Download the Chicory and ASM jars
run: jruby -S rake wasm:install_jars
- name: Run the test suite on JRuby
run: jruby -S rake test
80 changes: 0 additions & 80 deletions .github/workflows/milestone.yml

This file was deleted.

Loading
Loading