rbs 4.1.0-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.clang-format +75 -0
- data/.clangd +2 -0
- data/.dockerignore +37 -0
- data/.github/dependabot.yml +24 -0
- data/.github/workflows/bundle-update.yml +63 -0
- data/.github/workflows/c-check.yml +66 -0
- data/.github/workflows/comments.yml +37 -0
- data/.github/workflows/dependabot.yml +30 -0
- data/.github/workflows/jruby.yml +79 -0
- data/.github/workflows/milestone.yml +91 -0
- data/.github/workflows/ruby.yml +158 -0
- data/.github/workflows/rust.yml +186 -0
- data/.github/workflows/truffleruby.yml +54 -0
- data/.github/workflows/typecheck.yml +39 -0
- data/.github/workflows/wasm.yml +55 -0
- data/.github/workflows/windows.yml +49 -0
- data/.gitignore +39 -0
- data/.rubocop.yml +72 -0
- data/BSDL +22 -0
- data/CHANGELOG.md +2380 -0
- data/COPYING +56 -0
- data/Dockerfile.jruby +53 -0
- data/README.md +240 -0
- data/Rakefile +856 -0
- data/Steepfile +55 -0
- data/config.yml +913 -0
- data/core/array.rbs +4205 -0
- data/core/basic_object.rbs +376 -0
- data/core/binding.rbs +148 -0
- data/core/builtin.rbs +278 -0
- data/core/class.rbs +223 -0
- data/core/comparable.rbs +192 -0
- data/core/complex.rbs +812 -0
- data/core/constants.rbs +96 -0
- data/core/data.rbs +415 -0
- data/core/dir.rbs +993 -0
- data/core/encoding.rbs +1368 -0
- data/core/enumerable.rbs +2506 -0
- data/core/enumerator/arithmetic_sequence.rbs +70 -0
- data/core/enumerator/product.rbs +92 -0
- data/core/enumerator.rbs +705 -0
- data/core/env.rbs +6 -0
- data/core/errno.rbs +682 -0
- data/core/errors.rbs +789 -0
- data/core/exception.rbs +485 -0
- data/core/false_class.rbs +82 -0
- data/core/fiber.rbs +570 -0
- data/core/fiber_error.rbs +11 -0
- data/core/file.rbs +2045 -0
- data/core/file_constants.rbs +463 -0
- data/core/file_stat.rbs +534 -0
- data/core/file_test.rbs +331 -0
- data/core/float.rbs +1292 -0
- data/core/gc.rbs +788 -0
- data/core/global_variables.rbs +184 -0
- data/core/hash.rbs +2183 -0
- data/core/integer.rbs +1374 -0
- data/core/io/buffer.rbs +995 -0
- data/core/io/wait.rbs +48 -0
- data/core/io.rbs +3472 -0
- data/core/kernel.rbs +3172 -0
- data/core/marshal.rbs +207 -0
- data/core/match_data.rbs +637 -0
- data/core/math.rbs +770 -0
- data/core/method.rbs +422 -0
- data/core/module.rbs +1856 -0
- data/core/nil_class.rbs +210 -0
- data/core/numeric.rbs +832 -0
- data/core/object.rbs +108 -0
- data/core/object_space/weak_key_map.rbs +166 -0
- data/core/object_space.rbs +197 -0
- data/core/pathname.rbs +1312 -0
- data/core/proc.rbs +905 -0
- data/core/process.rbs +2316 -0
- data/core/ractor.rbs +914 -0
- data/core/random.rbs +255 -0
- data/core/range.rbs +1209 -0
- data/core/rational.rbs +502 -0
- data/core/rb_config.rbs +88 -0
- data/core/rbs/ops.rbs +154 -0
- data/core/rbs/unnamed/argf.rbs +1236 -0
- data/core/rbs/unnamed/env_class.rbs +1214 -0
- data/core/rbs/unnamed/main_class.rbs +123 -0
- data/core/rbs/unnamed/random.rbs +186 -0
- data/core/refinement.rbs +59 -0
- data/core/regexp.rbs +1974 -0
- data/core/ruby.rbs +53 -0
- data/core/ruby_vm.rbs +809 -0
- data/core/rubygems/basic_specification.rbs +6 -0
- data/core/rubygems/config_file.rbs +38 -0
- data/core/rubygems/dependency_installer.rbs +6 -0
- data/core/rubygems/errors.rbs +112 -0
- data/core/rubygems/installer.rbs +15 -0
- data/core/rubygems/path_support.rbs +6 -0
- data/core/rubygems/platform.rbs +7 -0
- data/core/rubygems/request_set.rbs +49 -0
- data/core/rubygems/requirement.rbs +138 -0
- data/core/rubygems/rubygems.rbs +1108 -0
- data/core/rubygems/source_list.rbs +15 -0
- data/core/rubygems/specification.rbs +31 -0
- data/core/rubygems/stream_ui.rbs +5 -0
- data/core/rubygems/uninstaller.rbs +10 -0
- data/core/rubygems/version.rbs +133 -0
- data/core/set.rbs +751 -0
- data/core/signal.rbs +110 -0
- data/core/string.rbs +5532 -0
- data/core/struct.rbs +668 -0
- data/core/symbol.rbs +482 -0
- data/core/thread.rbs +1821 -0
- data/core/thread_group.rbs +79 -0
- data/core/time.rbs +1793 -0
- data/core/trace_point.rbs +483 -0
- data/core/true_class.rbs +98 -0
- data/core/unbound_method.rbs +337 -0
- data/core/warning.rbs +87 -0
- data/docs/CONTRIBUTING.md +107 -0
- data/docs/aliases.md +79 -0
- data/docs/architecture.md +110 -0
- data/docs/collection.md +192 -0
- data/docs/config.md +171 -0
- data/docs/data_and_struct.md +86 -0
- data/docs/encoding.md +56 -0
- data/docs/gem.md +56 -0
- data/docs/inline.md +634 -0
- data/docs/rbs_by_example.md +309 -0
- data/docs/release.md +69 -0
- data/docs/repo.md +125 -0
- data/docs/rust.md +96 -0
- data/docs/sigs.md +167 -0
- data/docs/stdlib.md +147 -0
- data/docs/syntax.md +940 -0
- data/docs/tools.md +17 -0
- data/docs/type_fingerprint.md +21 -0
- data/docs/wasm_serialization.md +80 -0
- data/exe/rbs +7 -0
- data/ext/rbs_extension/ast_translation.c +1855 -0
- data/ext/rbs_extension/ast_translation.h +41 -0
- data/ext/rbs_extension/class_constants.c +187 -0
- data/ext/rbs_extension/class_constants.h +104 -0
- data/ext/rbs_extension/compat.h +10 -0
- data/ext/rbs_extension/extconf.rb +40 -0
- data/ext/rbs_extension/legacy_location.c +299 -0
- data/ext/rbs_extension/legacy_location.h +82 -0
- data/ext/rbs_extension/main.c +613 -0
- data/ext/rbs_extension/rbs_extension.h +16 -0
- data/ext/rbs_extension/rbs_string_bridging.c +9 -0
- data/ext/rbs_extension/rbs_string_bridging.h +24 -0
- data/goodcheck.yml +91 -0
- data/include/rbs/ast.h +1047 -0
- data/include/rbs/defines.h +99 -0
- data/include/rbs/lexer.h +207 -0
- data/include/rbs/location.h +40 -0
- data/include/rbs/parser.h +153 -0
- data/include/rbs/serialize.h +39 -0
- data/include/rbs/string.h +47 -0
- data/include/rbs/util/rbs_allocator.h +59 -0
- data/include/rbs/util/rbs_assert.h +20 -0
- data/include/rbs/util/rbs_buffer.h +83 -0
- data/include/rbs/util/rbs_constant_pool.h +155 -0
- data/include/rbs/util/rbs_encoding.h +282 -0
- data/include/rbs/util/rbs_unescape.h +24 -0
- data/include/rbs.h +14 -0
- data/lib/rbs/ancestor_graph.rb +92 -0
- data/lib/rbs/annotate/annotations.rb +199 -0
- data/lib/rbs/annotate/formatter.rb +82 -0
- data/lib/rbs/annotate/rdoc_annotator.rb +398 -0
- data/lib/rbs/annotate/rdoc_source.rb +131 -0
- data/lib/rbs/annotate.rb +8 -0
- data/lib/rbs/ast/annotation.rb +29 -0
- data/lib/rbs/ast/comment.rb +29 -0
- data/lib/rbs/ast/declarations.rb +472 -0
- data/lib/rbs/ast/directives.rb +49 -0
- data/lib/rbs/ast/members.rb +451 -0
- data/lib/rbs/ast/ruby/annotations.rb +451 -0
- data/lib/rbs/ast/ruby/comment_block.rb +247 -0
- data/lib/rbs/ast/ruby/declarations.rb +291 -0
- data/lib/rbs/ast/ruby/helpers/constant_helper.rb +28 -0
- data/lib/rbs/ast/ruby/helpers/location_helper.rb +15 -0
- data/lib/rbs/ast/ruby/members.rb +762 -0
- data/lib/rbs/ast/type_param.rb +235 -0
- data/lib/rbs/ast/visitor.rb +137 -0
- data/lib/rbs/buffer.rb +189 -0
- data/lib/rbs/builtin_names.rb +58 -0
- data/lib/rbs/cli/colored_io.rb +48 -0
- data/lib/rbs/cli/diff.rb +84 -0
- data/lib/rbs/cli/validate.rb +294 -0
- data/lib/rbs/cli.rb +1253 -0
- data/lib/rbs/collection/cleaner.rb +38 -0
- data/lib/rbs/collection/config/lockfile.rb +92 -0
- data/lib/rbs/collection/config/lockfile_generator.rb +269 -0
- data/lib/rbs/collection/config.rb +81 -0
- data/lib/rbs/collection/installer.rb +32 -0
- data/lib/rbs/collection/sources/base.rb +14 -0
- data/lib/rbs/collection/sources/git.rb +265 -0
- data/lib/rbs/collection/sources/local.rb +81 -0
- data/lib/rbs/collection/sources/rubygems.rb +48 -0
- data/lib/rbs/collection/sources/stdlib.rb +50 -0
- data/lib/rbs/collection/sources.rb +38 -0
- data/lib/rbs/collection.rb +16 -0
- data/lib/rbs/constant.rb +28 -0
- data/lib/rbs/definition.rb +415 -0
- data/lib/rbs/definition_builder/ancestor_builder.rb +678 -0
- data/lib/rbs/definition_builder/method_builder.rb +295 -0
- data/lib/rbs/definition_builder.rb +1054 -0
- data/lib/rbs/diff.rb +131 -0
- data/lib/rbs/environment/class_entry.rb +69 -0
- data/lib/rbs/environment/module_entry.rb +66 -0
- data/lib/rbs/environment/use_map.rb +77 -0
- data/lib/rbs/environment.rb +1028 -0
- data/lib/rbs/environment_loader.rb +167 -0
- data/lib/rbs/environment_walker.rb +155 -0
- data/lib/rbs/errors.rb +634 -0
- data/lib/rbs/factory.rb +18 -0
- data/lib/rbs/file_finder.rb +28 -0
- data/lib/rbs/inline_parser/comment_association.rb +117 -0
- data/lib/rbs/inline_parser.rb +568 -0
- data/lib/rbs/location_aux.rb +170 -0
- data/lib/rbs/locator.rb +247 -0
- data/lib/rbs/method_type.rb +145 -0
- data/lib/rbs/namespace.rb +154 -0
- data/lib/rbs/parser/lex_result.rb +15 -0
- data/lib/rbs/parser/token.rb +23 -0
- data/lib/rbs/parser_aux.rb +144 -0
- data/lib/rbs/prototype/helpers.rb +197 -0
- data/lib/rbs/prototype/node_usage.rb +99 -0
- data/lib/rbs/prototype/rb.rb +816 -0
- data/lib/rbs/prototype/rbi.rb +793 -0
- data/lib/rbs/prototype/runtime/helpers.rb +59 -0
- data/lib/rbs/prototype/runtime/reflection.rb +19 -0
- data/lib/rbs/prototype/runtime/value_object_generator.rb +279 -0
- data/lib/rbs/prototype/runtime.rb +680 -0
- data/lib/rbs/repository.rb +127 -0
- data/lib/rbs/resolver/constant_resolver.rb +219 -0
- data/lib/rbs/resolver/type_name_resolver.rb +167 -0
- data/lib/rbs/rewriter.rb +70 -0
- data/lib/rbs/sorter.rb +198 -0
- data/lib/rbs/source.rb +99 -0
- data/lib/rbs/substitution.rb +83 -0
- data/lib/rbs/subtractor.rb +204 -0
- data/lib/rbs/test/errors.rb +80 -0
- data/lib/rbs/test/guaranteed.rb +30 -0
- data/lib/rbs/test/hook.rb +212 -0
- data/lib/rbs/test/observer.rb +19 -0
- data/lib/rbs/test/setup.rb +84 -0
- data/lib/rbs/test/setup_helper.rb +50 -0
- data/lib/rbs/test/tester.rb +167 -0
- data/lib/rbs/test/type_check.rb +457 -0
- data/lib/rbs/test.rb +112 -0
- data/lib/rbs/type_alias_dependency.rb +100 -0
- data/lib/rbs/type_alias_regularity.rb +126 -0
- data/lib/rbs/type_name.rb +122 -0
- data/lib/rbs/types.rb +1604 -0
- data/lib/rbs/unit_test/convertibles.rb +177 -0
- data/lib/rbs/unit_test/spy.rb +138 -0
- data/lib/rbs/unit_test/type_assertions.rb +383 -0
- data/lib/rbs/unit_test/with_aliases.rb +145 -0
- data/lib/rbs/unit_test.rb +6 -0
- data/lib/rbs/validator.rb +186 -0
- data/lib/rbs/variance_calculator.rb +189 -0
- data/lib/rbs/vendorer.rb +71 -0
- data/lib/rbs/version.rb +5 -0
- data/lib/rbs/wasm/deserializer.rb +213 -0
- data/lib/rbs/wasm/location.rb +61 -0
- data/lib/rbs/wasm/parser.rb +137 -0
- data/lib/rbs/wasm/rbs_parser.wasm +0 -0
- data/lib/rbs/wasm/runtime.rb +196 -0
- data/lib/rbs/wasm/serialization_schema.rb +110 -0
- data/lib/rbs/writer.rb +424 -0
- data/lib/rbs.rb +117 -0
- data/lib/rbs_jars.rb +39 -0
- data/lib/rdoc/discover.rb +20 -0
- data/lib/rdoc_plugin/parser.rb +168 -0
- data/rbs.gemspec +81 -0
- data/schema/annotation.json +14 -0
- data/schema/comment.json +26 -0
- data/schema/decls.json +326 -0
- data/schema/function.json +87 -0
- data/schema/location.json +56 -0
- data/schema/members.json +266 -0
- data/schema/methodType.json +50 -0
- data/schema/typeParam.json +52 -0
- data/schema/types.json +317 -0
- data/sig/ancestor_builder.rbs +163 -0
- data/sig/ancestor_graph.rbs +60 -0
- data/sig/annotate/annotations.rbs +102 -0
- data/sig/annotate/formatter.rbs +24 -0
- data/sig/annotate/rdoc_annotater.rbs +85 -0
- data/sig/annotate/rdoc_source.rbs +32 -0
- data/sig/annotation.rbs +27 -0
- data/sig/ast/ruby/annotations.rbs +470 -0
- data/sig/ast/ruby/comment_block.rbs +127 -0
- data/sig/ast/ruby/declarations.rbs +158 -0
- data/sig/ast/ruby/helpers/constant_helper.rbs +11 -0
- data/sig/ast/ruby/helpers/location_helper.rbs +15 -0
- data/sig/ast/ruby/members.rbs +198 -0
- data/sig/buffer.rbs +108 -0
- data/sig/builtin_names.rbs +44 -0
- data/sig/cli/colored_io.rbs +15 -0
- data/sig/cli/diff.rbs +15 -0
- data/sig/cli/validate.rbs +47 -0
- data/sig/cli.rbs +89 -0
- data/sig/collection/cleaner.rbs +13 -0
- data/sig/collection/config/lockfile.rbs +74 -0
- data/sig/collection/config/lockfile_generator.rbs +68 -0
- data/sig/collection/config.rbs +46 -0
- data/sig/collection/installer.rbs +17 -0
- data/sig/collection/sources.rbs +214 -0
- data/sig/collection.rbs +4 -0
- data/sig/comment.rbs +26 -0
- data/sig/constant.rbs +21 -0
- data/sig/declarations.rbs +274 -0
- data/sig/definition.rbs +232 -0
- data/sig/definition_builder.rbs +181 -0
- data/sig/diff.rbs +28 -0
- data/sig/directives.rbs +77 -0
- data/sig/environment/class_entry.rbs +50 -0
- data/sig/environment/module_entry.rbs +50 -0
- data/sig/environment.rbs +286 -0
- data/sig/environment_loader.rbs +111 -0
- data/sig/environment_walker.rbs +65 -0
- data/sig/errors.rbs +408 -0
- data/sig/factory.rbs +5 -0
- data/sig/file_finder.rbs +28 -0
- data/sig/inline_parser/comment_association.rbs +71 -0
- data/sig/inline_parser.rbs +126 -0
- data/sig/location.rbs +135 -0
- data/sig/locator.rbs +56 -0
- data/sig/manifest.yaml +5 -0
- data/sig/members.rbs +258 -0
- data/sig/method_builder.rbs +89 -0
- data/sig/method_types.rbs +58 -0
- data/sig/namespace.rbs +161 -0
- data/sig/parser.rbs +164 -0
- data/sig/prototype/helpers.rbs +29 -0
- data/sig/prototype/node_usage.rbs +20 -0
- data/sig/prototype/rb.rbs +96 -0
- data/sig/prototype/rbi.rbs +104 -0
- data/sig/prototype/runtime.rbs +182 -0
- data/sig/rbs.rbs +21 -0
- data/sig/rdoc/rbs.rbs +67 -0
- data/sig/repository.rbs +85 -0
- data/sig/resolver/constant_resolver.rbs +92 -0
- data/sig/resolver/context.rbs +34 -0
- data/sig/resolver/type_name_resolver.rbs +61 -0
- data/sig/rewriter.rbs +45 -0
- data/sig/shims/bundler.rbs +38 -0
- data/sig/shims/enumerable.rbs +5 -0
- data/sig/shims/rubygems.rbs +19 -0
- data/sig/sorter.rbs +41 -0
- data/sig/source.rbs +48 -0
- data/sig/substitution.rbs +48 -0
- data/sig/subtractor.rbs +37 -0
- data/sig/test/errors.rbs +52 -0
- data/sig/test/guranteed.rbs +9 -0
- data/sig/test/type_check.rbs +19 -0
- data/sig/test.rbs +82 -0
- data/sig/type_alias_dependency.rbs +53 -0
- data/sig/type_alias_regularity.rbs +98 -0
- data/sig/type_param.rbs +115 -0
- data/sig/typename.rbs +89 -0
- data/sig/types.rbs +578 -0
- data/sig/unit_test/convertibles.rbs +154 -0
- data/sig/unit_test/spy.rbs +22 -0
- data/sig/unit_test/type_assertions.rbs +211 -0
- data/sig/unit_test/with_aliases.rbs +136 -0
- data/sig/use_map.rbs +35 -0
- data/sig/util.rbs +9 -0
- data/sig/validator.rbs +63 -0
- data/sig/variance_calculator.rbs +87 -0
- data/sig/vendorer.rbs +51 -0
- data/sig/version.rbs +3 -0
- data/sig/visitor.rbs +47 -0
- data/sig/wasm/deserializer.rbs +66 -0
- data/sig/wasm/serialization_schema.rbs +13 -0
- data/sig/writer.rbs +127 -0
- data/src/ast.c +1628 -0
- data/src/lexer.c +3221 -0
- data/src/lexer.re +155 -0
- data/src/lexstate.c +221 -0
- data/src/location.c +31 -0
- data/src/parser.c +4255 -0
- data/src/serialize.c +958 -0
- data/src/string.c +41 -0
- data/src/util/rbs_allocator.c +171 -0
- data/src/util/rbs_assert.c +19 -0
- data/src/util/rbs_buffer.c +54 -0
- data/src/util/rbs_constant_pool.c +268 -0
- data/src/util/rbs_encoding.c +21308 -0
- data/src/util/rbs_unescape.c +167 -0
- data/stdlib/abbrev/0/abbrev.rbs +66 -0
- data/stdlib/abbrev/0/array.rbs +26 -0
- data/stdlib/base64/0/base64.rbs +355 -0
- data/stdlib/benchmark/0/benchmark.rbs +452 -0
- data/stdlib/bigdecimal/0/big_decimal.rbs +1647 -0
- data/stdlib/bigdecimal-math/0/big_math.rbs +280 -0
- data/stdlib/bigdecimal-math/0/manifest.yaml +2 -0
- data/stdlib/cgi/0/core.rbs +911 -0
- data/stdlib/cgi/0/manifest.yaml +4 -0
- data/stdlib/cgi-escape/0/escape.rbs +171 -0
- data/stdlib/coverage/0/coverage.rbs +266 -0
- data/stdlib/csv/0/csv.rbs +3776 -0
- data/stdlib/csv/0/manifest.yaml +3 -0
- data/stdlib/date/0/date.rbs +1598 -0
- data/stdlib/date/0/date_time.rbs +617 -0
- data/stdlib/date/0/time.rbs +26 -0
- data/stdlib/dbm/0/dbm.rbs +421 -0
- data/stdlib/delegate/0/delegator.rbs +188 -0
- data/stdlib/delegate/0/kernel.rbs +47 -0
- data/stdlib/delegate/0/simple_delegator.rbs +96 -0
- data/stdlib/did_you_mean/0/did_you_mean.rbs +344 -0
- data/stdlib/digest/0/digest.rbs +693 -0
- data/stdlib/erb/0/erb.rbs +933 -0
- data/stdlib/etc/0/etc.rbs +884 -0
- data/stdlib/fileutils/0/fileutils.rbs +1753 -0
- data/stdlib/find/0/find.rbs +49 -0
- data/stdlib/forwardable/0/forwardable.rbs +271 -0
- data/stdlib/io-console/0/io-console.rbs +414 -0
- data/stdlib/ipaddr/0/ipaddr.rbs +431 -0
- data/stdlib/json/0/json.rbs +1963 -0
- data/stdlib/kconv/0/kconv.rbs +166 -0
- data/stdlib/logger/0/formatter.rbs +45 -0
- data/stdlib/logger/0/log_device.rbs +100 -0
- data/stdlib/logger/0/logger.rbs +796 -0
- data/stdlib/logger/0/manifest.yaml +2 -0
- data/stdlib/logger/0/period.rbs +17 -0
- data/stdlib/logger/0/severity.rbs +34 -0
- data/stdlib/minitest/0/kernel.rbs +42 -0
- data/stdlib/minitest/0/minitest/abstract_reporter.rbs +52 -0
- data/stdlib/minitest/0/minitest/assertion.rbs +17 -0
- data/stdlib/minitest/0/minitest/assertions.rbs +590 -0
- data/stdlib/minitest/0/minitest/backtrace_filter.rbs +23 -0
- data/stdlib/minitest/0/minitest/bench_spec.rbs +102 -0
- data/stdlib/minitest/0/minitest/benchmark.rbs +259 -0
- data/stdlib/minitest/0/minitest/composite_reporter.rbs +25 -0
- data/stdlib/minitest/0/minitest/compress.rbs +13 -0
- data/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
- data/stdlib/minitest/0/minitest/expectation.rbs +2 -0
- data/stdlib/minitest/0/minitest/expectations.rbs +21 -0
- data/stdlib/minitest/0/minitest/guard.rbs +64 -0
- data/stdlib/minitest/0/minitest/mock.rbs +64 -0
- data/stdlib/minitest/0/minitest/parallel/executor.rbs +46 -0
- data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +5 -0
- data/stdlib/minitest/0/minitest/parallel/test.rbs +3 -0
- data/stdlib/minitest/0/minitest/parallel.rbs +2 -0
- data/stdlib/minitest/0/minitest/pride_io.rbs +62 -0
- data/stdlib/minitest/0/minitest/pride_lol.rbs +19 -0
- data/stdlib/minitest/0/minitest/progress_reporter.rbs +11 -0
- data/stdlib/minitest/0/minitest/reportable.rbs +53 -0
- data/stdlib/minitest/0/minitest/reporter.rbs +5 -0
- data/stdlib/minitest/0/minitest/result.rbs +28 -0
- data/stdlib/minitest/0/minitest/runnable.rbs +163 -0
- data/stdlib/minitest/0/minitest/skip.rbs +6 -0
- data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +48 -0
- data/stdlib/minitest/0/minitest/spec/dsl.rbs +129 -0
- data/stdlib/minitest/0/minitest/spec.rbs +11 -0
- data/stdlib/minitest/0/minitest/statistics_reporter.rbs +81 -0
- data/stdlib/minitest/0/minitest/summary_reporter.rbs +18 -0
- data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +92 -0
- data/stdlib/minitest/0/minitest/test.rbs +69 -0
- data/stdlib/minitest/0/minitest/unexpected_error.rbs +12 -0
- data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
- data/stdlib/minitest/0/minitest/unit/test_case.rbs +3 -0
- data/stdlib/minitest/0/minitest/unit.rbs +4 -0
- data/stdlib/minitest/0/minitest.rbs +115 -0
- data/stdlib/monitor/0/monitor.rbs +363 -0
- data/stdlib/mutex_m/0/mutex_m.rbs +104 -0
- data/stdlib/net-http/0/manifest.yaml +3 -0
- data/stdlib/net-http/0/net-http.rbs +5580 -0
- data/stdlib/net-protocol/0/manifest.yaml +2 -0
- data/stdlib/net-protocol/0/net-protocol.rbs +56 -0
- data/stdlib/net-smtp/0/manifest.yaml +2 -0
- data/stdlib/net-smtp/0/net-smtp.rbs +55 -0
- data/stdlib/nkf/0/nkf.rbs +402 -0
- data/stdlib/objspace/0/objspace.rbs +470 -0
- data/stdlib/observable/0/observable.rbs +217 -0
- data/stdlib/open-uri/0/manifest.yaml +4 -0
- data/stdlib/open-uri/0/open-uri.rbs +433 -0
- data/stdlib/open3/0/open3.rbs +606 -0
- data/stdlib/openssl/0/manifest.yaml +3 -0
- data/stdlib/openssl/0/openssl.rbs +12237 -0
- data/stdlib/optparse/0/optparse.rbs +1734 -0
- data/stdlib/pathname/0/pathname.rbs +36 -0
- data/stdlib/pp/0/manifest.yaml +2 -0
- data/stdlib/pp/0/pp.rbs +301 -0
- data/stdlib/prettyprint/0/prettyprint.rbs +383 -0
- data/stdlib/pstore/0/pstore.rbs +608 -0
- data/stdlib/psych/0/core_ext.rbs +12 -0
- data/stdlib/psych/0/dbm.rbs +237 -0
- data/stdlib/psych/0/manifest.yaml +3 -0
- data/stdlib/psych/0/psych.rbs +455 -0
- data/stdlib/psych/0/store.rbs +57 -0
- data/stdlib/pty/0/pty.rbs +240 -0
- data/stdlib/random-formatter/0/random-formatter.rbs +277 -0
- data/stdlib/rdoc/0/code_object.rbs +52 -0
- data/stdlib/rdoc/0/comment.rbs +61 -0
- data/stdlib/rdoc/0/context.rbs +153 -0
- data/stdlib/rdoc/0/markup.rbs +117 -0
- data/stdlib/rdoc/0/options.rbs +76 -0
- data/stdlib/rdoc/0/parser.rbs +56 -0
- data/stdlib/rdoc/0/rdoc.rbs +393 -0
- data/stdlib/rdoc/0/ri.rbs +17 -0
- data/stdlib/rdoc/0/store.rbs +48 -0
- data/stdlib/rdoc/0/top_level.rbs +97 -0
- data/stdlib/resolv/0/manifest.yaml +3 -0
- data/stdlib/resolv/0/resolv.rbs +1787 -0
- data/stdlib/ripper/0/ripper.rbs +1654 -0
- data/stdlib/securerandom/0/manifest.yaml +2 -0
- data/stdlib/securerandom/0/securerandom.rbs +49 -0
- data/stdlib/shellwords/0/shellwords.rbs +229 -0
- data/stdlib/singleton/0/singleton.rbs +134 -0
- data/stdlib/socket/0/addrinfo.rbs +666 -0
- data/stdlib/socket/0/basic_socket.rbs +590 -0
- data/stdlib/socket/0/constants.rbs +2295 -0
- data/stdlib/socket/0/ip_socket.rbs +94 -0
- data/stdlib/socket/0/socket.rbs +4170 -0
- data/stdlib/socket/0/socket_error.rbs +5 -0
- data/stdlib/socket/0/tcp_server.rbs +192 -0
- data/stdlib/socket/0/tcp_socket.rbs +87 -0
- data/stdlib/socket/0/udp_socket.rbs +133 -0
- data/stdlib/socket/0/unix_server.rbs +169 -0
- data/stdlib/socket/0/unix_socket.rbs +172 -0
- data/stdlib/stringio/0/stringio.rbs +1681 -0
- data/stdlib/strscan/0/string_scanner.rbs +1648 -0
- data/stdlib/tempfile/0/manifest.yaml +3 -0
- data/stdlib/tempfile/0/tempfile.rbs +483 -0
- data/stdlib/time/0/time.rbs +434 -0
- data/stdlib/timeout/0/timeout.rbs +132 -0
- data/stdlib/tmpdir/0/tmpdir.rbs +69 -0
- data/stdlib/tsort/0/cyclic.rbs +8 -0
- data/stdlib/tsort/0/interfaces.rbs +20 -0
- data/stdlib/tsort/0/tsort.rbs +410 -0
- data/stdlib/uri/0/common.rbs +621 -0
- data/stdlib/uri/0/file.rbs +118 -0
- data/stdlib/uri/0/ftp.rbs +13 -0
- data/stdlib/uri/0/generic.rbs +1111 -0
- data/stdlib/uri/0/http.rbs +104 -0
- data/stdlib/uri/0/https.rbs +14 -0
- data/stdlib/uri/0/ldap.rbs +230 -0
- data/stdlib/uri/0/ldaps.rbs +14 -0
- data/stdlib/uri/0/mailto.rbs +92 -0
- data/stdlib/uri/0/rfc2396_parser.rbs +189 -0
- data/stdlib/uri/0/rfc3986_parser.rbs +2 -0
- data/stdlib/uri/0/ws.rbs +13 -0
- data/stdlib/uri/0/wss.rbs +9 -0
- data/stdlib/yaml/0/manifest.yaml +2 -0
- data/stdlib/yaml/0/yaml.rbs +1 -0
- data/stdlib/zlib/0/buf_error.rbs +10 -0
- data/stdlib/zlib/0/data_error.rbs +10 -0
- data/stdlib/zlib/0/deflate.rbs +211 -0
- data/stdlib/zlib/0/error.rbs +20 -0
- data/stdlib/zlib/0/gzip_file/crc_error.rbs +12 -0
- data/stdlib/zlib/0/gzip_file/error.rbs +23 -0
- data/stdlib/zlib/0/gzip_file/length_error.rbs +12 -0
- data/stdlib/zlib/0/gzip_file/no_footer.rbs +11 -0
- data/stdlib/zlib/0/gzip_file.rbs +156 -0
- data/stdlib/zlib/0/gzip_reader.rbs +293 -0
- data/stdlib/zlib/0/gzip_writer.rbs +168 -0
- data/stdlib/zlib/0/inflate.rbs +180 -0
- data/stdlib/zlib/0/mem_error.rbs +10 -0
- data/stdlib/zlib/0/need_dict.rbs +13 -0
- data/stdlib/zlib/0/stream_end.rbs +11 -0
- data/stdlib/zlib/0/stream_error.rbs +11 -0
- data/stdlib/zlib/0/version_error.rbs +11 -0
- data/stdlib/zlib/0/zlib.rbs +449 -0
- data/stdlib/zlib/0/zstream.rbs +200 -0
- data/wasm/README.md +60 -0
- data/wasm/rbs_wasm.c +423 -0
- metadata +671 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 73bc36eb78f102ec2cd1dc04bea1907352b7295ebac31bce88aae673db9b5b18
|
|
4
|
+
data.tar.gz: fedab63f16f6a0f216e1c2a254d7534a9b7348e6fe0286c6452c6c6ed801bc5d
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: fed0da3de5067f20a2f5e43a3986911edfbe7900d569373b85a112b6c0eef0a26bf9118ab9d48dcfaaba62055262232bf7c9a33b73839403d4d2f279a205503d
|
|
7
|
+
data.tar.gz: b176cc620376e1fef7f8535f30d3ab3440014b514eee7fef69b65845d0668f21c5cfc158cc011b18b87d3077a9273437be5d4aa17ea272c4f15b49b2629be7b7
|
data/.clang-format
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
Language: Cpp
|
|
3
|
+
|
|
4
|
+
# Indentation
|
|
5
|
+
UseTab: Never
|
|
6
|
+
IndentWidth: 4
|
|
7
|
+
BreakBeforeBraces: Attach
|
|
8
|
+
IndentCaseLabels: false
|
|
9
|
+
NamespaceIndentation: None
|
|
10
|
+
ContinuationIndentWidth: 4
|
|
11
|
+
IndentPPDirectives: None
|
|
12
|
+
IndentWrappedFunctionNames: false
|
|
13
|
+
AccessModifierOffset: -2
|
|
14
|
+
|
|
15
|
+
# Alignment
|
|
16
|
+
AlignAfterOpenBracket: BlockIndent
|
|
17
|
+
AlignConsecutiveAssignments: false
|
|
18
|
+
AlignConsecutiveDeclarations: false
|
|
19
|
+
AlignConsecutiveMacros: false
|
|
20
|
+
AlignEscapedNewlines: Left
|
|
21
|
+
AlignOperands: false
|
|
22
|
+
AlignTrailingComments: true
|
|
23
|
+
DerivePointerAlignment: false
|
|
24
|
+
PointerAlignment: Right
|
|
25
|
+
|
|
26
|
+
# Function calls formatting
|
|
27
|
+
BinPackArguments: false
|
|
28
|
+
BinPackParameters: false
|
|
29
|
+
AllowAllArgumentsOnNextLine: false
|
|
30
|
+
ExperimentalAutoDetectBinPacking: false
|
|
31
|
+
PenaltyBreakBeforeFirstCallParameter: 1
|
|
32
|
+
AlwaysBreakAfterDefinitionReturnType: None
|
|
33
|
+
|
|
34
|
+
# Wrapping and Breaking
|
|
35
|
+
ColumnLimit: 0
|
|
36
|
+
AllowShortBlocksOnASingleLine: Never
|
|
37
|
+
AllowShortCaseLabelsOnASingleLine: false
|
|
38
|
+
AllowShortFunctionsOnASingleLine: All
|
|
39
|
+
AllowShortIfStatementsOnASingleLine: Always
|
|
40
|
+
AllowShortLoopsOnASingleLine: false
|
|
41
|
+
AlwaysBreakAfterReturnType: None
|
|
42
|
+
AlwaysBreakBeforeMultilineStrings: false
|
|
43
|
+
AlwaysBreakTemplateDeclarations: No
|
|
44
|
+
BreakBeforeBinaryOperators: None
|
|
45
|
+
BreakBeforeTernaryOperators: false
|
|
46
|
+
BreakConstructorInitializers: BeforeColon
|
|
47
|
+
BreakInheritanceList: BeforeColon
|
|
48
|
+
BreakStringLiterals: false
|
|
49
|
+
CompactNamespaces: false
|
|
50
|
+
ConstructorInitializerAllOnOneLineOrOnePerLine: false
|
|
51
|
+
Cpp11BracedListStyle: false
|
|
52
|
+
ReflowComments: false
|
|
53
|
+
SortIncludes: Never
|
|
54
|
+
InsertNewlineAtEOF: true
|
|
55
|
+
|
|
56
|
+
# Spaces
|
|
57
|
+
SpaceAfterCStyleCast: true
|
|
58
|
+
SpaceAfterLogicalNot: false
|
|
59
|
+
SpaceAfterTemplateKeyword: true
|
|
60
|
+
SpaceBeforeAssignmentOperators: true
|
|
61
|
+
SpaceBeforeCpp11BracedList: true
|
|
62
|
+
SpaceBeforeCtorInitializerColon: true
|
|
63
|
+
SpaceBeforeInheritanceColon: true
|
|
64
|
+
SpaceBeforeParens: ControlStatements
|
|
65
|
+
SpaceBeforeRangeBasedForLoopColon: true
|
|
66
|
+
SpaceBeforeSquareBrackets: false
|
|
67
|
+
SpaceInEmptyBlock: false
|
|
68
|
+
SpaceInEmptyParentheses: false
|
|
69
|
+
SpacesBeforeTrailingComments: 1
|
|
70
|
+
SpacesInAngles: false
|
|
71
|
+
SpacesInCStyleCastParentheses: false
|
|
72
|
+
SpacesInConditionalStatement: false
|
|
73
|
+
SpacesInContainerLiterals: true
|
|
74
|
+
SpacesInParentheses: false
|
|
75
|
+
SpacesInSquareBrackets: false
|
data/.clangd
ADDED
data/.dockerignore
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Keep the build context small. .git is intentionally NOT ignored: rbs.gemspec
|
|
2
|
+
# builds its file list with `git ls-files`.
|
|
3
|
+
#
|
|
4
|
+
# Safe to ignore here: untracked/generated paths, and tracked paths the gemspec
|
|
5
|
+
# already rejects (so `gem build` does not expect them on disk). Do NOT ignore a
|
|
6
|
+
# tracked path the gemspec ships — `gem build` would fail with "... are not
|
|
7
|
+
# files". .vscode/ and benchmark/ are tracked but rejected by the gemspec.
|
|
8
|
+
.vscode/
|
|
9
|
+
benchmark/
|
|
10
|
+
|
|
11
|
+
# Editor / tooling / worktree copies (untracked; each is a full repo clone)
|
|
12
|
+
.claude/
|
|
13
|
+
trees/
|
|
14
|
+
.devcontainer/
|
|
15
|
+
.idea/
|
|
16
|
+
.ruby-lsp/
|
|
17
|
+
.yardoc/
|
|
18
|
+
doc/
|
|
19
|
+
datasets/
|
|
20
|
+
tmp/
|
|
21
|
+
|
|
22
|
+
# Build artifact — rebuilt inside the image by `rake wasm:jruby_setup`
|
|
23
|
+
lib/rbs/wasm/*.wasm
|
|
24
|
+
*.gem
|
|
25
|
+
ext/**/*.o
|
|
26
|
+
ext/**/*.so
|
|
27
|
+
ext/**/*.bundle
|
|
28
|
+
*.log
|
|
29
|
+
|
|
30
|
+
# Local scratch / experiment files
|
|
31
|
+
flamegraph.html
|
|
32
|
+
gc.html
|
|
33
|
+
foo.rbs
|
|
34
|
+
sorted.json
|
|
35
|
+
string.json
|
|
36
|
+
Gemfile-*
|
|
37
|
+
gemfiles/
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
updates:
|
|
3
|
+
# - package-ecosystem: bundler
|
|
4
|
+
# directory: "/"
|
|
5
|
+
# schedule:
|
|
6
|
+
# interval: daily
|
|
7
|
+
# open-pull-requests-limit: 3
|
|
8
|
+
# allow:
|
|
9
|
+
# - dependency-type: all
|
|
10
|
+
|
|
11
|
+
# - package-ecosystem: bundler
|
|
12
|
+
# directory: "/steep"
|
|
13
|
+
# schedule:
|
|
14
|
+
# interval: daily
|
|
15
|
+
# open-pull-requests-limit: 3
|
|
16
|
+
# allow:
|
|
17
|
+
# - dependency-type: all
|
|
18
|
+
|
|
19
|
+
- package-ecosystem: 'github-actions'
|
|
20
|
+
directory: '/'
|
|
21
|
+
schedule:
|
|
22
|
+
interval: 'weekly'
|
|
23
|
+
labels:
|
|
24
|
+
- 'no-milestone'
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
name: Scheduled Bundle Update PR
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
- cron: '0 0 * * 2'
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
bundle-update:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
|
|
12
|
+
steps:
|
|
13
|
+
- name: Checkout repository
|
|
14
|
+
uses: actions/checkout@v7
|
|
15
|
+
|
|
16
|
+
- name: Set up Ruby
|
|
17
|
+
uses: ruby/setup-ruby@v1
|
|
18
|
+
with:
|
|
19
|
+
ruby-version: '4.0'
|
|
20
|
+
|
|
21
|
+
- name: Set up git
|
|
22
|
+
run: |
|
|
23
|
+
git config --global user.name "github-actions[bot]"
|
|
24
|
+
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
|
25
|
+
|
|
26
|
+
- name: Switch branch
|
|
27
|
+
run: |
|
|
28
|
+
git switch -c bundle-update-$(date +'%Y%m%d')-$(uuidgen | cut -c1-8)
|
|
29
|
+
|
|
30
|
+
- name: Install bundler
|
|
31
|
+
run: gem install bundler
|
|
32
|
+
|
|
33
|
+
- name: Run bundle update
|
|
34
|
+
run: |
|
|
35
|
+
bundle lock --update
|
|
36
|
+
bundle lock --update --gemfile=steep/Gemfile
|
|
37
|
+
git add Gemfile.lock steep/Gemfile.lock
|
|
38
|
+
|
|
39
|
+
if git diff --cached --exit-code; then
|
|
40
|
+
echo "No changes to commit, exiting."
|
|
41
|
+
exit 0
|
|
42
|
+
fi
|
|
43
|
+
|
|
44
|
+
git commit -m "bundle update"
|
|
45
|
+
echo "has_update=true" >> $GITHUB_ENV
|
|
46
|
+
|
|
47
|
+
- name: Push branch
|
|
48
|
+
if: env.has_update == 'true'
|
|
49
|
+
run: git push origin HEAD
|
|
50
|
+
|
|
51
|
+
- name: Create Pull Request
|
|
52
|
+
if: env.has_update == 'true'
|
|
53
|
+
env:
|
|
54
|
+
GH_TOKEN: ${{ secrets.DEPENDABOT_MERGE_GH_TOKEN }}
|
|
55
|
+
run: |
|
|
56
|
+
gh pr create \
|
|
57
|
+
--title "bundle update ($(date +'%Y-%m-%d'))" \
|
|
58
|
+
--body "Automated weekly bundle update" \
|
|
59
|
+
--head "$(git rev-parse --abbrev-ref HEAD)" \
|
|
60
|
+
--base "${{ github.event.repository.default_branch }}" \
|
|
61
|
+
--label "no-milestone"
|
|
62
|
+
|
|
63
|
+
gh pr merge --auto --merge "$(git rev-parse --abbrev-ref HEAD)"
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
name: C Code Generation and Formatting Check
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- master
|
|
7
|
+
pull_request: {}
|
|
8
|
+
merge_group: {}
|
|
9
|
+
|
|
10
|
+
permissions:
|
|
11
|
+
contents: read
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
format-check:
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v7
|
|
18
|
+
- uses: ruby/setup-ruby@v1
|
|
19
|
+
with:
|
|
20
|
+
ruby-version: "4.0"
|
|
21
|
+
bundler-cache: none
|
|
22
|
+
- name: Set working directory as safe
|
|
23
|
+
run: git config --global --add safe.directory $(pwd)
|
|
24
|
+
- name: Install dependencies
|
|
25
|
+
run: |
|
|
26
|
+
sudo apt-get update
|
|
27
|
+
sudo apt-get install -y libdb-dev curl autoconf automake m4 libtool
|
|
28
|
+
- name: Install clang-format from LLVM
|
|
29
|
+
run: |
|
|
30
|
+
# The codename must match the `runs-on` image: `ubuntu-latest` is 24.04 (noble).
|
|
31
|
+
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key \
|
|
32
|
+
| sudo gpg --dearmor -o /usr/share/keyrings/llvm-archive-keyring.gpg
|
|
33
|
+
# Written directly rather than through `apt-add-repository`, which cannot
|
|
34
|
+
# parse `[signed-by=...]` inside a one-line `deb` shortcut.
|
|
35
|
+
echo "deb [signed-by=/usr/share/keyrings/llvm-archive-keyring.gpg] http://apt.llvm.org/noble/ llvm-toolchain-noble-20 main" \
|
|
36
|
+
| sudo tee /etc/apt/sources.list.d/llvm.list
|
|
37
|
+
sudo apt-get update
|
|
38
|
+
sudo apt-get install -y clang-format-20
|
|
39
|
+
sudo ln -sf /usr/bin/clang-format-20 /usr/local/bin/clang-format
|
|
40
|
+
clang-format --version
|
|
41
|
+
- name: Count processors
|
|
42
|
+
run: nproc
|
|
43
|
+
- name: Install Re2c
|
|
44
|
+
run: |
|
|
45
|
+
cd /tmp
|
|
46
|
+
curl -L https://github.com/skvadrik/re2c/archive/refs/tags/4.5.1.tar.gz > re2c-4.5.1.tar.gz
|
|
47
|
+
tar xf re2c-4.5.1.tar.gz
|
|
48
|
+
cd re2c-4.5.1
|
|
49
|
+
cmake --preset=linux-gcc-release-ootree-skeleton-fast
|
|
50
|
+
cmake --build --preset=linux-gcc-release-ootree-skeleton-fast --parallel="$(nproc)"
|
|
51
|
+
sudo ln -sf "$(pwd)"/.build/linux-gcc-release-ootree-skeleton-fast/re2c /usr/local/bin/re2c
|
|
52
|
+
re2c --version
|
|
53
|
+
- name: Update rubygems & bundler
|
|
54
|
+
run: |
|
|
55
|
+
ruby -v
|
|
56
|
+
gem update --system
|
|
57
|
+
- name: install erb
|
|
58
|
+
run: gem install erb
|
|
59
|
+
- name: bin/setup
|
|
60
|
+
run: |
|
|
61
|
+
bin/setup
|
|
62
|
+
- name: Check C code generation and formatting
|
|
63
|
+
run: |
|
|
64
|
+
clang-format --version
|
|
65
|
+
bundle exec rake lexer templates compile confirm_lexer confirm_templates
|
|
66
|
+
bundle exec rake format:c_check
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
name: RBS Comments
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- master
|
|
7
|
+
pull_request: {}
|
|
8
|
+
merge_group: {}
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
comments:
|
|
12
|
+
runs-on: "ubuntu-latest"
|
|
13
|
+
# env:
|
|
14
|
+
# RUBY_COMMIT: v4.0.0-preview2
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v7
|
|
17
|
+
- uses: ruby/setup-ruby@v1
|
|
18
|
+
with:
|
|
19
|
+
ruby-version: "4.0.6"
|
|
20
|
+
bundler: none
|
|
21
|
+
- name: Install dependencies
|
|
22
|
+
run: |
|
|
23
|
+
sudo apt-get update
|
|
24
|
+
sudo apt-get install -y libdb-dev curl
|
|
25
|
+
- name: Update rubygems & bundler
|
|
26
|
+
run: |
|
|
27
|
+
ruby -v
|
|
28
|
+
gem update --system
|
|
29
|
+
- name: install erb
|
|
30
|
+
run: gem install erb
|
|
31
|
+
- name: bin/setup
|
|
32
|
+
run: |
|
|
33
|
+
bin/setup
|
|
34
|
+
- name: Check if `rake annotate` has been executed
|
|
35
|
+
run: |
|
|
36
|
+
git config --global --add safe.directory `pwd`
|
|
37
|
+
bundle exec rake annotate confirm_annotation
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name: Merge dependabot PRs automatically
|
|
2
|
+
on: pull_request_target
|
|
3
|
+
|
|
4
|
+
permissions:
|
|
5
|
+
pull-requests: write
|
|
6
|
+
contents: write
|
|
7
|
+
|
|
8
|
+
env:
|
|
9
|
+
blocker_files: rbs.gemspec Gemfile steep/Gemfile
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
dependabot:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
if: ${{ github.event.pull_request.user.login == 'dependabot[bot]' }}
|
|
15
|
+
steps:
|
|
16
|
+
- name: Dependabot metadata
|
|
17
|
+
uses: dependabot/fetch-metadata@25dd0e34f4fe68f24cc83900b1fe3fe149efef98 # v3.1.0
|
|
18
|
+
id: metadata
|
|
19
|
+
- name: Checkout repository
|
|
20
|
+
uses: actions/checkout@v7
|
|
21
|
+
with:
|
|
22
|
+
fetch-depth: 0
|
|
23
|
+
- name: Abort if blocker files are changed
|
|
24
|
+
run: git diff --exit-code ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} ${{ env.blocker_files }}
|
|
25
|
+
- name: Enable auto-merge for Dependabot PRs
|
|
26
|
+
run: gh pr merge --auto --merge "$PR_URL"
|
|
27
|
+
if: ${{ steps.metadata.outputs.update-type == 'version-update:semver-minor' || steps.metadata.outputs.update-type == 'version-update:semver-patch' }}
|
|
28
|
+
env:
|
|
29
|
+
PR_URL: ${{github.event.pull_request.html_url}}
|
|
30
|
+
GH_TOKEN: ${{secrets.DEPENDABOT_MERGE_GH_TOKEN}}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
name: JRuby
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- master
|
|
7
|
+
pull_request:
|
|
8
|
+
paths:
|
|
9
|
+
- ".github/workflows/jruby.yml"
|
|
10
|
+
- "include/**"
|
|
11
|
+
- "src/**"
|
|
12
|
+
- "wasm/**"
|
|
13
|
+
- "lib/**"
|
|
14
|
+
- "sig/**"
|
|
15
|
+
- "core/**"
|
|
16
|
+
- "stdlib/**"
|
|
17
|
+
- "test/**"
|
|
18
|
+
- "Rakefile"
|
|
19
|
+
- "rbs.gemspec"
|
|
20
|
+
# `merge_group` has no `paths` filter, so this runs on every queue entry.
|
|
21
|
+
merge_group: {}
|
|
22
|
+
|
|
23
|
+
permissions:
|
|
24
|
+
contents: read
|
|
25
|
+
|
|
26
|
+
env:
|
|
27
|
+
# Keep in sync with .github/workflows/wasm.yml.
|
|
28
|
+
WASI_SDK_VERSION: "33"
|
|
29
|
+
WASI_SDK_RELEASE: "33.0"
|
|
30
|
+
|
|
31
|
+
jobs:
|
|
32
|
+
test:
|
|
33
|
+
name: jruby
|
|
34
|
+
runs-on: ubuntu-latest
|
|
35
|
+
steps:
|
|
36
|
+
- uses: actions/checkout@v7
|
|
37
|
+
- run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*
|
|
38
|
+
|
|
39
|
+
# Build the .wasm and fetch the Chicory jars with CRuby + the WASI SDK,
|
|
40
|
+
# then run RBS itself on JRuby against those artifacts.
|
|
41
|
+
- name: Set up Ruby (to assemble the WebAssembly runtime)
|
|
42
|
+
uses: ruby/setup-ruby@v1
|
|
43
|
+
with:
|
|
44
|
+
ruby-version: ruby
|
|
45
|
+
bundler: none
|
|
46
|
+
- name: Update rubygems & bundler
|
|
47
|
+
run: gem update --system
|
|
48
|
+
- name: Install gems
|
|
49
|
+
run: |
|
|
50
|
+
bundle config set --local without libs:profilers
|
|
51
|
+
bundle install --jobs 4 --retry 3
|
|
52
|
+
- name: Install the WASI SDK
|
|
53
|
+
run: |
|
|
54
|
+
url="https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VERSION}/wasi-sdk-${WASI_SDK_RELEASE}-x86_64-linux.tar.gz"
|
|
55
|
+
mkdir -p "$HOME/wasi-sdk"
|
|
56
|
+
curl -sSL "$url" | tar xz --strip-components=1 -C "$HOME/wasi-sdk"
|
|
57
|
+
echo "WASI_SDK_PATH=$HOME/wasi-sdk" >> "$GITHUB_ENV"
|
|
58
|
+
- name: Build rbs_parser.wasm
|
|
59
|
+
run: bundle exec rake wasm:jruby_setup
|
|
60
|
+
|
|
61
|
+
- name: Set up JRuby
|
|
62
|
+
uses: ruby/setup-ruby@v1
|
|
63
|
+
with:
|
|
64
|
+
ruby-version: jruby
|
|
65
|
+
bundler: none
|
|
66
|
+
- name: Install runtime and test gems
|
|
67
|
+
# rdoc 8.0.0 added a runtime dependency on rbs, which pulls the released
|
|
68
|
+
# C-extension rbs gem and fails to build on JRuby. Pin rdoc below 8 until
|
|
69
|
+
# a -java rbs gem is published.
|
|
70
|
+
run: |
|
|
71
|
+
gem install prism rake rake-compiler test-unit rspec minitest json-schema pry --no-document
|
|
72
|
+
gem install rdoc -v "< 8" --no-document
|
|
73
|
+
# jar-dependencies resolves through the JVM, so download the Chicory/ASM
|
|
74
|
+
# jars into ~/.m2 here on JRuby (jar-dependencies is not available in the
|
|
75
|
+
# CRuby step above).
|
|
76
|
+
- name: Download the Chicory and ASM jars
|
|
77
|
+
run: jruby -S rake wasm:install_jars
|
|
78
|
+
- name: Run the test suite on JRuby
|
|
79
|
+
run: jruby -S rake test
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
name: Check milestone
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [opened, edited, labeled, unlabeled, milestoned, demilestoned, synchronize]
|
|
6
|
+
merge_group: {}
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
check:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
# The milestone is a property of the pull request, so there is nothing to
|
|
17
|
+
# check once it enters the merge queue. This job still has to run there
|
|
18
|
+
# because `check` is a required status check -- it just reports success
|
|
19
|
+
# without doing anything.
|
|
20
|
+
- uses: actions/checkout@v7
|
|
21
|
+
if: github.event_name == 'pull_request'
|
|
22
|
+
|
|
23
|
+
- name: Extract RBS::Version
|
|
24
|
+
id: version
|
|
25
|
+
if: github.event_name == 'pull_request'
|
|
26
|
+
run: |
|
|
27
|
+
# Extract version string from lib/rbs/version.rb
|
|
28
|
+
version=$(ruby -e 'load "lib/rbs/version.rb"; print RBS::VERSION')
|
|
29
|
+
echo "version=$version" >> "$GITHUB_OUTPUT"
|
|
30
|
+
|
|
31
|
+
# Parse major.minor.patch
|
|
32
|
+
IFS='.' read -r major minor patch _rest <<< "$version"
|
|
33
|
+
echo "major=$major" >> "$GITHUB_OUTPUT"
|
|
34
|
+
echo "minor=$minor" >> "$GITHUB_OUTPUT"
|
|
35
|
+
echo "patch=$patch" >> "$GITHUB_OUTPUT"
|
|
36
|
+
|
|
37
|
+
echo "RBS::VERSION = $version (major=$major, minor=$minor, patch=$patch)"
|
|
38
|
+
|
|
39
|
+
- name: Check milestone
|
|
40
|
+
if: github.event_name == 'pull_request'
|
|
41
|
+
uses: actions/github-script@v9
|
|
42
|
+
with:
|
|
43
|
+
script: |
|
|
44
|
+
const pr = context.payload.pull_request;
|
|
45
|
+
const milestone = pr.milestone;
|
|
46
|
+
const labels = pr.labels.map(l => l.name);
|
|
47
|
+
|
|
48
|
+
const version = '${{ steps.version.outputs.version }}';
|
|
49
|
+
const major = '${{ steps.version.outputs.major }}';
|
|
50
|
+
const minor = '${{ steps.version.outputs.minor }}';
|
|
51
|
+
const patch = parseInt('${{ steps.version.outputs.patch }}', 10);
|
|
52
|
+
|
|
53
|
+
if (!milestone) {
|
|
54
|
+
if (labels.includes('no-milestone')) {
|
|
55
|
+
core.info('No milestone set, but no-milestone label is present — OK');
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
core.setFailed(
|
|
59
|
+
'No milestone set. Add a milestone or add the "no-milestone" label.'
|
|
60
|
+
);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (labels.includes('no-milestone')) {
|
|
65
|
+
core.setFailed(
|
|
66
|
+
'Milestone is set but "no-milestone" label is present. Remove the label or the milestone.'
|
|
67
|
+
);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const milestoneName = milestone.title;
|
|
72
|
+
core.info(`Milestone: "${milestoneName}", RBS::VERSION: ${version}`);
|
|
73
|
+
|
|
74
|
+
// Expected milestone based on version:
|
|
75
|
+
// patch == 0 → "RBS major.minor" (e.g. "RBS 4.0")
|
|
76
|
+
// patch >= 1 → "RBS major.minor.x" (e.g. "RBS 4.0.x")
|
|
77
|
+
let expectedMilestone;
|
|
78
|
+
if (patch === 0) {
|
|
79
|
+
expectedMilestone = `RBS ${major}.${minor}`;
|
|
80
|
+
} else {
|
|
81
|
+
expectedMilestone = `RBS ${major}.${minor}.x`;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (milestoneName !== expectedMilestone) {
|
|
85
|
+
core.setFailed(
|
|
86
|
+
`Milestone "${milestoneName}" does not match RBS::VERSION ${version}. ` +
|
|
87
|
+
`Expected milestone: "${expectedMilestone}"`
|
|
88
|
+
);
|
|
89
|
+
} else {
|
|
90
|
+
core.info(`Milestone "${milestoneName}" matches RBS::VERSION ${version}`);
|
|
91
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
name: Ruby
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- master
|
|
7
|
+
pull_request: {}
|
|
8
|
+
merge_group: {}
|
|
9
|
+
|
|
10
|
+
permissions:
|
|
11
|
+
contents: read
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
test:
|
|
15
|
+
runs-on: "ubuntu-latest"
|
|
16
|
+
strategy:
|
|
17
|
+
fail-fast: false
|
|
18
|
+
matrix:
|
|
19
|
+
ruby: ['3.3', '3.4', '4.0', head]
|
|
20
|
+
rubyopt: [""]
|
|
21
|
+
job:
|
|
22
|
+
- test
|
|
23
|
+
include:
|
|
24
|
+
- ruby: head
|
|
25
|
+
job: stdlib_test rubocop
|
|
26
|
+
- ruby: "4.0"
|
|
27
|
+
job: stdlib_test
|
|
28
|
+
- ruby: "4.0"
|
|
29
|
+
job: test
|
|
30
|
+
rubyopt: "--enable-frozen-string-literal"
|
|
31
|
+
- ruby: "4.0"
|
|
32
|
+
job: stdlib_test
|
|
33
|
+
rubyopt: "--enable-frozen-string-literal"
|
|
34
|
+
- ruby: "4.0"
|
|
35
|
+
job: rubocop validate test_doc build test_generate_stdlib raap
|
|
36
|
+
- ruby: "4.0"
|
|
37
|
+
job: typecheck_test
|
|
38
|
+
- ruby: asan-release
|
|
39
|
+
job: test
|
|
40
|
+
env:
|
|
41
|
+
RANDOMIZE_STDLIB_TEST_ORDER: "true"
|
|
42
|
+
steps:
|
|
43
|
+
- uses: actions/checkout@v7
|
|
44
|
+
- uses: ruby/setup-ruby@v1
|
|
45
|
+
with:
|
|
46
|
+
ruby-version: ${{ matrix.ruby }}
|
|
47
|
+
bundler: none
|
|
48
|
+
- name: Set working directory as safe
|
|
49
|
+
run: git config --global --add safe.directory $(pwd)
|
|
50
|
+
- name: Install dependencies
|
|
51
|
+
run: |
|
|
52
|
+
sudo apt-get update
|
|
53
|
+
sudo apt-get install -y libdb-dev curl autoconf automake m4 libtool python3
|
|
54
|
+
- name: Update rubygems & bundler
|
|
55
|
+
run: |
|
|
56
|
+
ruby -v
|
|
57
|
+
gem update --system
|
|
58
|
+
- name: install erb
|
|
59
|
+
run: gem install erb
|
|
60
|
+
- name: bundle config set with
|
|
61
|
+
run: |
|
|
62
|
+
echo "NO_MINITEST=true" >> $GITHUB_ENV
|
|
63
|
+
bundle config set --local without 'minitest'
|
|
64
|
+
if: ${{ contains(matrix.ruby, 'head') }}
|
|
65
|
+
- name: bundle config set force_ruby_platform true if head
|
|
66
|
+
if: ${{ contains(matrix.ruby, 'head') }}
|
|
67
|
+
run: |
|
|
68
|
+
bundle config set force_ruby_platform true
|
|
69
|
+
- name: Ignore Gemfile.lock's BUNDLED WITH on ruby-head
|
|
70
|
+
if: ${{ contains(matrix.ruby, 'head') }}
|
|
71
|
+
run: bundle config set --local version system
|
|
72
|
+
- name: Skip installing type checkers
|
|
73
|
+
if: ${{ ! contains(matrix.job, 'typecheck_test') }}
|
|
74
|
+
run: |
|
|
75
|
+
bundle config set without 'typecheck_test'
|
|
76
|
+
- name: bin/setup
|
|
77
|
+
run: |
|
|
78
|
+
bin/setup
|
|
79
|
+
- name: Configure ASAN options
|
|
80
|
+
if: ${{ contains(matrix.ruby, 'asan') }}
|
|
81
|
+
run: |
|
|
82
|
+
echo "ASAN_OPTIONS=abort_on_error=1" >> $GITHUB_ENV
|
|
83
|
+
- name: Run test
|
|
84
|
+
run: |
|
|
85
|
+
bundle exec rake ${{ matrix.job }}
|
|
86
|
+
C99_compile:
|
|
87
|
+
runs-on: macos-latest
|
|
88
|
+
strategy:
|
|
89
|
+
fail-fast: false
|
|
90
|
+
matrix:
|
|
91
|
+
ruby: ['4.0', head]
|
|
92
|
+
steps:
|
|
93
|
+
- uses: actions/checkout@v7
|
|
94
|
+
- name: Install dependencies
|
|
95
|
+
run: |
|
|
96
|
+
brew install ruby-build
|
|
97
|
+
- uses: ruby/setup-ruby@v1
|
|
98
|
+
with:
|
|
99
|
+
ruby-version: ${{ matrix.ruby }}
|
|
100
|
+
bundler: none
|
|
101
|
+
- name: Set working directory as safe
|
|
102
|
+
run: git config --global --add safe.directory $(pwd)
|
|
103
|
+
- name: Update rubygems & bundler
|
|
104
|
+
run: |
|
|
105
|
+
ruby -v
|
|
106
|
+
gem update --system
|
|
107
|
+
- name: install erb
|
|
108
|
+
run: gem install erb
|
|
109
|
+
- name: clang version
|
|
110
|
+
run: clang --version
|
|
111
|
+
- name: bundle config set force_ruby_platform true if head
|
|
112
|
+
if: ${{ contains(matrix.ruby, 'head') }}
|
|
113
|
+
run: |
|
|
114
|
+
bundle config set force_ruby_platform true
|
|
115
|
+
- name: Ignore Gemfile.lock's BUNDLED WITH on ruby-head
|
|
116
|
+
if: ${{ contains(matrix.ruby, 'head') }}
|
|
117
|
+
run: bundle config set --local version system
|
|
118
|
+
- name: bin/setup
|
|
119
|
+
run: |
|
|
120
|
+
bin/setup
|
|
121
|
+
- run: bundle exec rake clean compile_c99
|
|
122
|
+
|
|
123
|
+
clang_compile:
|
|
124
|
+
runs-on: macos-latest
|
|
125
|
+
strategy:
|
|
126
|
+
fail-fast: false
|
|
127
|
+
matrix:
|
|
128
|
+
ruby: ['4.0', head]
|
|
129
|
+
steps:
|
|
130
|
+
- uses: actions/checkout@v7
|
|
131
|
+
- name: Install dependencies
|
|
132
|
+
run: |
|
|
133
|
+
brew install ruby-build
|
|
134
|
+
- uses: ruby/setup-ruby@v1
|
|
135
|
+
with:
|
|
136
|
+
ruby-version: ${{ matrix.ruby }}
|
|
137
|
+
bundler: none
|
|
138
|
+
- name: Set working directory as safe
|
|
139
|
+
run: git config --global --add safe.directory $(pwd)
|
|
140
|
+
- name: Update rubygems & bundler
|
|
141
|
+
run: |
|
|
142
|
+
ruby -v
|
|
143
|
+
gem update --system
|
|
144
|
+
- name: install erb
|
|
145
|
+
run: gem install erb
|
|
146
|
+
- name: clang version
|
|
147
|
+
run: clang --version
|
|
148
|
+
- name: bundle config set force_ruby_platform true if head
|
|
149
|
+
if: ${{ contains(matrix.ruby, 'head') }}
|
|
150
|
+
run: |
|
|
151
|
+
bundle config set force_ruby_platform true
|
|
152
|
+
- name: Ignore Gemfile.lock's BUNDLED WITH on ruby-head
|
|
153
|
+
if: ${{ contains(matrix.ruby, 'head') }}
|
|
154
|
+
run: bundle config set --local version system
|
|
155
|
+
- name: bin/setup
|
|
156
|
+
run: |
|
|
157
|
+
bin/setup
|
|
158
|
+
- run: bundle exec rake clean compile
|