Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from ruby:master #380

Merged
merged 376 commits into from
Feb 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
376 commits
Select commit Hold shift + click to select a range
81752d2
Abort when streaming code from stdin with Prism
nobu Feb 16, 2024
bc7266c
Bump the required BASERUBY version to 3.0 (#9976)
k0kubun Feb 16, 2024
4047222
Try to load original gemspec from `.bundle/gems/foo-x.y.z/foo.gemspec`.
hsbt Feb 16, 2024
9f708d4
Clear runtime dependencies if default gems is specified.
hsbt Feb 16, 2024
62ab933
Try to test net-ftp examples again
hsbt Feb 16, 2024
38cc9da
We can test bundled gems without default gems installation
hsbt Feb 16, 2024
9f4d5eb
Try to find gemspec from `.bundle/specifications
hsbt Feb 16, 2024
e3f452e
Adjust indent
hsbt Feb 16, 2024
0301473
Fixed dependencies list format
hsbt Feb 16, 2024
fbc29ce
Avoid to fail with race condition
hsbt Feb 16, 2024
f012ce0
[ruby/prism] Fix lexing of `foo!` when it's a first thing to parse
maxprokopiev Feb 16, 2024
c5f22b5
Make all fields in AST movable
peterzhu2118 Feb 15, 2024
f4f57e1
[ruby/prism] Add warning for assignments to literals in conditionals
haldun Feb 15, 2024
04e7c57
[ruby/prism] Fix pattern with constant, (, and newlines
kddnewton Feb 16, 2024
ff4f5c0
[ruby/prism] Style/renaming
kddnewton Feb 16, 2024
b315826
[ruby/irb] Support repeating debugger input by passing empty input
st0012 Feb 16, 2024
4411cde
Fix typo in gc.c
peterzhu2118 Feb 16, 2024
f5801e2
[ruby/irb] Standardize command related names
st0012 Feb 16, 2024
8414c26
[PRISM] Make prism compiler warning experimental
kddnewton Feb 14, 2024
6084adb
Use travis_wait for test-spec as well
k0kubun Feb 16, 2024
7d3e889
[ruby/prism] Move visit methods into a Ripper Compiler
noahgibbs Feb 15, 2024
e801ccb
[ruby/prism] More rescue and ensure; constant handling
noahgibbs Feb 16, 2024
8e4d1ff
[ruby/prism] Disallow numbered parameters within given scopes
kddnewton Feb 16, 2024
24645cf
Removed duplicated variable in push_mark_stack
peterzhu2118 Feb 16, 2024
bac692f
CI: Fix the no such file or directory error with the working directory.
junaruga Feb 15, 2024
6f4bb63
[ruby/prism] Builtins
kddnewton Feb 15, 2024
fbe6304
Fix PRISM build dependencies
XrXr Feb 16, 2024
777c4da
[PRISM] GC guard strings
peterzhu2118 Feb 16, 2024
c4e30d2
YJIT: Support `**nil`
XrXr Feb 16, 2024
b4327c1
YJIT: Support empty splat
XrXr Feb 16, 2024
429338a
[ruby/prism] Accept newlines before ) in patterns
kddnewton Feb 16, 2024
1330158
[ruby/prism] Fix block_pass for []=
kddnewton Feb 16, 2024
170058c
[ruby/prism] Ignore incorrect files
kddnewton Feb 16, 2024
2967b7e
GC guard catch_table_ary
peterzhu2118 Feb 16, 2024
075b6ac
YJIT: Remove unused counters
XrXr Feb 16, 2024
b56b8ec
[ruby/prism] Provide the ability to dump AST to JSON from C
kddnewton Feb 16, 2024
3b23b45
Explicitly assert that redefined backquote method is called
nobu Feb 17, 2024
6e4bfb3
Fix an argument name
nobu Feb 17, 2024
df63e5b
[DOC] Functions for `Time#initialize` implementation
nobu Feb 17, 2024
3dccb71
Use `defined?(yield)` and `SIZED_ENUMERATOR`
nobu Feb 17, 2024
13d2a3a
[ruby/prism] Fix visitor in desugar test
eregon Feb 17, 2024
00bda2a
[ruby/prism] Fix up GCC analyzer
kddnewton Feb 17, 2024
104100f
Split path.rb from mkrunnable.rb
nobu Feb 17, 2024
87c4c6c
Install binary executable files to architecture dependent path
nobu Feb 18, 2024
120c291
Link ruby.pc to pkg-config data directory
nobu Feb 18, 2024
07c774e
[ruby/irb] Revamp `help` command
st0012 Feb 18, 2024
792804e
[ruby/prism] Split up comments between leading and trailing
kddnewton Feb 18, 2024
ea529dd
[ruby/prism] Lazy methods for start and end offset on node
kddnewton Feb 18, 2024
ec1eda7
[ruby/prism] Account for encoding in regexp named captures
kddnewton Feb 18, 2024
11a6bb8
Revert 25d74b9527cd525042ad0b612b794fa331d3a318 at test/irb
hsbt Feb 19, 2024
9ec9910
[ruby/irb] Update error message assertions for Ruby 3.4
st0012 Feb 15, 2024
7e577e1
[ruby/irb] Fix `irb:rdbg` for ruby head
st0012 Feb 16, 2024
c14d295
Fix accidentally changed to rename test method at d95d3484a90a985b971…
hsbt Feb 19, 2024
1dca87c
Load rubygems explicitly for tests of test/irb
hsbt Feb 19, 2024
935fc22
Use commit version for https://bugs.ruby-lang.org/issues/16495
hsbt Feb 19, 2024
0972cfb
Update bundled gems list at 935fc22545fdca58331994622ae577 [ci skip]
matzbot Feb 19, 2024
3d4f5e7
[rubygems/rubygems] Suppress warning during test runner.
hsbt Feb 16, 2024
b4be283
[rubygems/rubygems] Remove redundant rubocop configs
dduugg Feb 17, 2024
cb9e0a4
Don't exclude `test_gem_package_task.rb` explicitly.
hsbt Feb 19, 2024
a52fc5d
[rubygems/rubygems] Use FileUtils.mkdir_p
hsbt Feb 19, 2024
fcc55dc
[Bug #20280] Raise SyntaxError on invalid encoding symbol
nobu Feb 19, 2024
b1d70e4
[Bug #20280] Check by `rb_parser_enc_str_coderange`
nobu Feb 19, 2024
d9b61e2
Omit a bizzarre test in IRB
nobu Feb 19, 2024
8c5b7eb
[Bug #20280] Fix wrong tests
nobu Feb 19, 2024
96ede4d
Bump up typeprof-0.21.11
hsbt Feb 19, 2024
fabec39
Update bundled gems list at 96ede4d192788d2dc20f5caa6cbe29 [ci skip]
matzbot Feb 19, 2024
391b0bf
Try with some test fixes from https://github.com/hsbt/debug/commits/r…
hsbt Feb 19, 2024
ae3e82a
[ruby/prism] Fix up comment state
kddnewton Feb 19, 2024
0501ecd
[rubygems/rubygems] Bump rb-sys
dependabot[bot] Feb 19, 2024
4ba76d4
[rubygems/rubygems] Bump rb-sys
dependabot[bot] Feb 19, 2024
cdf39ed
Don't sync prism.{so,bundle,dll} from `ruby/prism`
hsbt Feb 20, 2024
4e864d0
Architecture-dependent files must not pollute libdir [ci skip]
nobu Feb 20, 2024
83148f8
[rubygems/rubygems] Allow to set install_extension_in_lib as Gem conf…
hsbt Mar 10, 2023
94dd4dc
[rubygems/rubygems] Gem.install_extension_in_lib is now under the Gem…
hsbt Mar 10, 2023
27501a5
[rubygems/rubygems] Restore Gem.configuration during installation test
hsbt Mar 10, 2023
a551d93
[rubygems/rubygems] Now install extension in lib is true
hsbt Mar 10, 2023
018261e
[rubygems/rubygems] Added small tests
hsbt Mar 10, 2023
f2d4533
[rubygems/rubygems] re-order util methods
hsbt Mar 10, 2023
f75b9db
[rubygems/rubygems] Keep Gem.install_extension_in_lib for compatibility
hsbt Mar 17, 2023
89cfc15
[Feature #20257] Rearchitect Ripper
yui-knk Jan 12, 2024
20dbc7a
Skip `test_filepath` of "unparser/corpus/literal/def.txt"
yui-knk Feb 5, 2024
2a4b6ed
Workaround for `Prism::ParseTest#test_filepath` for "unparser/corpus/…
yui-knk Feb 16, 2024
fba6470
Remove uneeded Universal Parser properties
S-H-GAMELINKS Feb 4, 2024
474f418
Suppress unused function warning for UNIVERSAL_PARSER build
yui-knk Feb 19, 2024
fa3d6aa
[ruby/uri] Use https instead of http
hsbt Feb 20, 2024
7cb8fd7
Move ripper_validate_object to ripper_init.c.tmpl
yui-knk Feb 18, 2024
e3917fc
Remove no longer used methods
nobu Feb 20, 2024
386b956
Remove never used method
nobu Feb 20, 2024
c22cb96
Use commit with Ruby 3.4 support
hsbt Feb 20, 2024
15b53e9
[ruby/prism] Use `_POSIX_MAPPED_FILES` and `_WIN32` to know if memory…
hasumikin Jan 22, 2024
f0a46c6
[ruby/prism] Include unistd.h before cheching _POSIX_MAPPED_FILES
hasumikin Feb 16, 2024
bcfcdae
[ruby/prism] Fix windows build checking for _POSIX_MAPPED_FILES
kddnewton Feb 20, 2024
835fa98
Update warning flags before dump
nobu Feb 20, 2024
20f0310
[ruby/prism] Fix eval encoding switching to UTF-8
kddnewton Feb 20, 2024
c184aa8
Use rb_gc_mark_and_move for imemo
peterzhu2118 Feb 16, 2024
c0e5de9
Fix the version in missing-baseruby
k0kubun Feb 20, 2024
2e2e3d8
YJIT: Support `**nil` for cfuncs
XrXr Feb 20, 2024
77c1233
Add pushtoarraykwsplat instruction to avoid unnecessary array allocation
jeremyevans Jan 30, 2024
b3c13de
skip a test on non-UTF-8 locale
ko1 Feb 20, 2024
d4b4b53
[DOC] Fix links in doc (#9970)
BurdetteLamar Feb 20, 2024
9216a2a
YJIT: Verify the assumption of leaf C calls (#10002)
k0kubun Feb 20, 2024
8e10904
YJIT: Fix calling leaf builtins with empty splat and kw_splat
XrXr Feb 20, 2024
35fdf1a
YJIT: Remove duplicate test
XrXr Feb 20, 2024
97d4363
[DOC] Improve docs for GC.latest_compact_info
peterzhu2118 Feb 16, 2024
e7ab5d8
Introduce NODE_REGX to manage regexp literal
yui-knk Feb 10, 2024
776dbbb
Remove hack for ripper.y generation
yui-knk Feb 20, 2024
ce4142b
YJIT: rb_str_concat_literals is not leaf (#10035)
k0kubun Feb 21, 2024
5fb574a
`rb_parser_warn_duplicate_keys` doesn't need to take care of NODE_LIT…
yui-knk Feb 18, 2024
2a6917b
Fix string value in hash literal being forced frozen
XrXr Feb 20, 2024
1c97aba
De-dup identical callinfo objects
jhawthorn Feb 12, 2024
081ee3d
Add memory leak test for eval kwargs
jhawthorn Feb 15, 2024
a605234
NEWS.md: Add a note for [Feature #16495] and [Feature #19117]
mame Feb 20, 2024
08753f2
[rubygems/rubygems] Use https instead of http
hsbt Feb 20, 2024
d0786cd
[rubygems/rubygems] rake man:build
hsbt Feb 20, 2024
91cb303
Remove not used universal parser macros and functions
yui-knk Feb 18, 2024
d578684
`rb_thread_lock_native_thread()`
ko1 Feb 20, 2024
c8fb4f3
[rubygems/rubygems] Skip nil-value keys to make metadata reproducible
nobu Nov 1, 2023
fc1a7a4
[rubygems/rubygems] Use Hash#compact
hsbt Feb 21, 2024
1fa4d15
Add `Test::Unit::TestCase#method_name`
nobu Feb 21, 2024
6ecb14d
[rubygems/rubygems] Reset `Gem.state_file` along with `Gem.state_home`
nobu Feb 20, 2024
b1431ce
Add comments to dmydln.c, dmyenc.c, and dmyext.c
mame Feb 21, 2024
6aa5067
Revert rubygems tempdir check
nobu Feb 21, 2024
fd91354
[DOC] Comment about logic to care about static/dynamic hetero build
kateinoigakukun Feb 21, 2024
78d9fe6
Ensure that exiting thread invokes end-of-life behaviour. (#10039)
ioquatix Feb 21, 2024
04729fe
Fix exception handling in `rb_fiber_scheduler_set`. (#10042)
ioquatix Feb 21, 2024
01c7e16
Separate miniruby from dmyext.c
nobu Feb 21, 2024
402690c
Fix incomplete switch statement in imemo_memsize
peterzhu2118 Feb 20, 2024
bf680af
[ruby/prism] Remove non-ASCII characters from --dump=parsetree
kddnewton Feb 21, 2024
2b2e61e
[ruby/prism] Only call encoding_changed callback on change
kddnewton Feb 21, 2024
96f21e9
Re-enable test now that dump is all ASCII
kddnewton Feb 21, 2024
2e6f855
[ruby/date] Remove the unintentional ability to parse `Symbol`
nobu Jan 29, 2024
330830d
Add IMEMO_NEW
peterzhu2118 Feb 20, 2024
d9ebb65
[ruby/pp] Fix compatibility with 3.3 or earlier
nobu Feb 21, 2024
0f1ca94
[PRISM] Provide runtime flag for prism in iseq
kddnewton Feb 12, 2024
82a4c3a
Add error for iseqs compiled by prism
kddnewton Feb 14, 2024
37b8fc7
[ruby/pp] Get rid of hardcoded class name
nobu Sep 5, 2021
6e70431
[ruby/pp] Extract pp_hash_pair
nobu Sep 5, 2021
2edc14b
[ruby/fileutils] [DOC] nodoc for private methods and module
nobu Dec 6, 2023
5ab6b31
[ruby/fileutils] [DOC] FileUtils::VERSION
nobu Feb 21, 2024
c2812fb
[rubygems/rubygems] Control whether YAML aliases are enabled in Gem::…
segiddins Feb 7, 2024
5dcc7a0
[rubygems/rubygems] Use a writer method on the module instead of a co…
segiddins Feb 9, 2024
466ed0e
[rubygems/rubygems] Add a test for safe yaml
segiddins Feb 11, 2024
997470b
[rubygems/rubygems] Commit missing new method
segiddins Feb 14, 2024
8bc51a3
[rubygems/rubygems] Check for correct exception on older psych versions
segiddins Feb 20, 2024
220ced7
[PRISM] Remove more dummy line usage
kddnewton Feb 20, 2024
61c5936
[PRISM] Remove more dummy line usage
kddnewton Feb 20, 2024
e7d480d
[PRISM] Remove more dummy line usage
kddnewton Feb 20, 2024
e1f6b47
[PRISM] Remove more dummy line usage
kddnewton Feb 20, 2024
e19fde5
[PRISM] Remove more dummy line usage
kddnewton Feb 20, 2024
5c02d97
[PRISM] Remove more dummy line usage
kddnewton Feb 20, 2024
577d07c
YJIT: Allow non-leaf calls on opt_* insns (#10033)
k0kubun Feb 21, 2024
fce7804
[DOC] Doc for field processing (#10008)
BurdetteLamar Feb 21, 2024
80ffa30
[PRISM] Eval frames should not have an absolute path
kddnewton Feb 21, 2024
e3b9eec
[ruby/prism] Translation::Parser should process warnings, not just er…
noahgibbs Feb 21, 2024
45ae69e
[ruby/prism] Update lib/prism/translation/parser.rb
noahgibbs Feb 21, 2024
551f647
[ruby/prism] Allow skipping warnings as needed, and pass a reason thr…
noahgibbs Feb 21, 2024
0be0996
YJIT: Grab stack operands after SP change in String#byteslice (#10060)
XrXr Feb 21, 2024
90c5393
[ruby/prism] Support ItParametersNode
kddnewton Feb 21, 2024
31735d7
[ruby/prism] Update for Ruby 3.4 errors
kddnewton Feb 21, 2024
be96dc9
[PRISM] Support it local variable
kddnewton Feb 21, 2024
5f00b2d
Fix the insn position shown by rb_vm_check_canary (#10062)
k0kubun Feb 21, 2024
35f68e7
YJIT: Assert Opnd::Stack's SP expectation (#10061)
k0kubun Feb 21, 2024
7acc8bb
Bump ruby/setup-ruby from 1.171.0 to 1.172.0
dependabot[bot] Feb 22, 2024
9f8f32b
[ruby/zlib] In Zlib::GzipReader#eof? check if we're actually at eof
martinemde Dec 21, 2023
97a39cc
Split `init_funcname`
nobu Feb 22, 2024
e1c684e
Refactor to use `struct string_part`
nobu Feb 22, 2024
b7f5c80
Use `terms?` instead of `opt_terms`
ydah Feb 21, 2024
6a0b05f
Remove `SAVE_ROOT_JMPBUF` as it no longer has any effect. (#10066)
ioquatix Feb 22, 2024
7d112b0
Use `rb_encoding *` as literal hash of NODE_ENCODING
yui-knk Feb 21, 2024
133d774
Cover all warning category options
nobu Feb 22, 2024
6478514
CI: Refactor a logic for skipped tests.
junaruga Feb 20, 2024
d597335
Remove unused variable
nobu Feb 22, 2024
183c574
Save the performance warning flag
nobu Feb 22, 2024
88431c4
[ruby/irb] Delete IRB::NotImplementedError
tompng Feb 22, 2024
5f7f229
Adjust indent [ci skip]
nobu Feb 22, 2024
e041461
[Bug #20292] Truncate embedded string to new capacity
nobu Feb 22, 2024
e65315a
Extract imemo functions from gc.c into imemo.c
peterzhu2118 Feb 21, 2024
a16fefc
YJIT: Optimize attr_writer (#9986)
k0kubun Feb 22, 2024
9d8d029
Remove unused variable in imemo.c
peterzhu2118 Feb 22, 2024
3c61222
[ruby/prism] all constant nodes should have full_name and full_name_p…
exterm Feb 22, 2024
2b0bc44
Remove unused matrix.configure from macos.yml
k0kubun Feb 22, 2024
bccf4b3
Skip under_gc_compact_stress on s390x (#10073)
k0kubun Feb 22, 2024
cdca942
Fallback every macos-arm-oss usage to macos-14 (#10074)
k0kubun Feb 22, 2024
38bf622
Fix -Wmaybe-uninitialized on Complex#** (#10075)
k0kubun Feb 22, 2024
d5080f6
Fix -Wsign-compare on String#initialize
k0kubun Feb 23, 2024
3ca6da2
[Bug #20295] Fix SEGV when parsing invalid regexp
yui-knk Feb 23, 2024
548151d
Bump github/codeql-action from 3.24.3 to 3.24.4
dependabot[bot] Feb 23, 2024
ff6ebba
[ruby/prism] Parse numeric values
kddnewton Dec 15, 2023
af0a6ea
[ruby/prism] Add an IntegerField for parsing integer values
kddnewton Feb 22, 2024
3b3def5
[ruby/prism] Regenerate snapshots using integer values
kddnewton Feb 22, 2024
5e0589c
[ruby/prism] Parse float values
kddnewton Feb 22, 2024
4016535
[PRISM] Integrate new number parsing
kddnewton Feb 23, 2024
a154ea0
[ruby/prism] Ignore other ERANGE errors for floats
kddnewton Feb 23, 2024
f403660
Fallback more macos-arm-oss jobs to macos-14
k0kubun Feb 23, 2024
37dde6e
[ruby/irb] Unroll extension method generation
st0012 Feb 23, 2024
4831bb5
[ruby/irb] Turn on frozen literal in files
st0012 Feb 23, 2024
41c0fb6
[ruby/optparse] Add `exact:` keyword argument
nobu Feb 21, 2024
598b036
[ruby/irb] Remove remaining `frozen_string_literal: false` in lib/
tompng Feb 23, 2024
f0172fc
[ruby/irb] Remove workaround for empty lines in dynamic_prompt
tompng Feb 23, 2024
7da3f8d
[ruby/optparse] [DOC] About return value of OptionParser#new
nobu Feb 23, 2024
3371936
Add Launchable into CI
ono-max Jan 31, 2024
ea2fb74
[ruby/irb] Remove useless loaded file check
tompng Feb 23, 2024
6bd3e8f
Use rb_hash_foreach in coverage
peterzhu2118 Feb 22, 2024
386a006
Use rb_hash_foreach in objspace.c
peterzhu2118 Feb 22, 2024
df5b8ea
Remove unneeded RUBY_FUNC_EXPORTED
peterzhu2118 Feb 22, 2024
4bb4327
Fixes [Bug #20258]
marek22k Feb 12, 2024
8b2c421
Add option for mtu discovery flag
marek22k Feb 12, 2024
32f8ed7
Typo fix.
shaver Feb 23, 2024
6ad52e3
[ruby/ipaddr] String#split seems to be faster than capturing digits w…
amatsuda Jan 6, 2023
73dd3ce
[ruby/ipaddr] Prefer String#start_with? over Regexp.match
amatsuda Jan 6, 2023
d1ce989
[ruby/prism] Duplicated hash keys
kddnewton Feb 23, 2024
a38cc17
[ruby/prism] Duplicated when clauses
kddnewton Feb 23, 2024
b920278
[ruby/prism] Refactor pm_node_list_insert to use a binary search
kddnewton Feb 23, 2024
02b531a
[ruby/prism] Factor in sign to integer comparison
kddnewton Feb 23, 2024
9a09e27
[PRISM] Use new static literal comparisons
kddnewton Feb 23, 2024
01f9b2a
Use rb_str_to_interned_str in parse.y
peterzhu2118 Feb 22, 2024
510404f
Stop using rb_fstring publicly
peterzhu2118 Feb 22, 2024
50ace99
[Bug #20234] Fix segv when parsing begin statement in method definition
eileencodes Feb 12, 2024
8a6740c
YJIT: Lazily push a frame for specialized C funcs (#10080)
k0kubun Feb 23, 2024
ce8531f
Stop using rb_str_locktmp_ensure publicly
peterzhu2118 Feb 23, 2024
ec6532b
[ruby/prism] Add some encoding debugging to make testing easier
kddnewton Feb 23, 2024
e458494
[DOC] Doc for command line options (#10059)
BurdetteLamar Feb 23, 2024
96907f9
[ruby/prism] Convert pm_integer_t to strings
kddnewton Feb 23, 2024
a255b43
Update common.mk
peterzhu2118 Feb 23, 2024
e439419
[DOC] Fix a typo
k0kubun Feb 24, 2024
fc656ac
[PRISM] Sync to latest prism
kddnewton Feb 24, 2024
b9b0712
[ruby/prism] Use steep to type check RBS and Ruby files
nixme Dec 18, 2023
46fe3dc
[ruby/prism] Fix IgnoredNewlineToken comparison of Ripper::Lexer::State
nixme Dec 21, 2023
e03e9c3
[ruby/prism] wip: node unions
nixme Dec 21, 2023
7556fd9
[ruby/prism] Split private types
nixme Jan 8, 2024
935d4fa
[ruby/prism] Remove Ripper from public RBS, type-assert remaining issues
nixme Jan 8, 2024
ca8a626
[ruby/prism] Fix my RipperCompat logic mistake from expansion for ste…
nixme Jan 9, 2024
bfbaafb
[ruby/prism] Make rake check_annotations verify public RBS
nixme Jan 9, 2024
8fa1843
[ruby/prism] Relax Location#source to be optional
nixme Jan 10, 2024
66565e3
[ruby/prism] Add documentation for Location#source!
nixme Jan 10, 2024
dfee033
[ruby/prism] Replace awkward code changes with steep:ignore
nixme Feb 20, 2024
aa88414
[ruby/prism] Less code modifications. More steep:ignore for now
nixme Feb 22, 2024
804b2a3
[ruby/prism] Rebase against main
kddnewton Feb 24, 2024
e9e752c
Assert running_iseq before using it
k0kubun Feb 24, 2024
2c0cf68
Launchable: Fix the warning of pip
ono-max Feb 24, 2024
30b9986
[ruby/resolv] Treat hostname as same as aliases
nobu Apr 28, 2023
012a0b9
[ruby/resolv] Simplify adding new entries
nobu Feb 25, 2024
7356067
[ruby/tmpdir] Update gemspec according to the recent bundler template
nobu Feb 25, 2024
2721a64
[ruby/reline] Use gray and white as the default dialog theme
st0012 Feb 25, 2024
2c1b7bc
[ruby/reline] Bump version to v0.4.3
st0012 Feb 25, 2024
6108962
Update default gems list at 2c1b7bc51c335d85da994c87dfb37c [ci skip]
matzbot Feb 25, 2024
c0c56d1
[ruby/tmpdir] Use `IO.popen` to list files
nobu Feb 25, 2024
c16b507
[ruby/tmpdir] [DOC] `require` inside each method on Dir
adam12 Feb 25, 2024
eb66136
Add `.mailmap` file to map SVN IDs [ci skip]
nobu Feb 6, 2024
3c4d0b1
Exclude `.mailmap` from snapshots [ci skip]
nobu Feb 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
19 changes: 6 additions & 13 deletions .github/workflows/annocheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ permissions:

jobs:
compile:
name: gcc-11 annocheck
name: test-annocheck

runs-on: ubuntu-latest

Expand Down Expand Up @@ -72,6 +72,11 @@ jobs:
builddir: build
makeup: true

- uses: ruby/setup-ruby@d4526a55538b775af234ba4af27118ed6f8f6677 # v1.172.0
with:
ruby-version: '3.0'
bundler: none

# Minimal flags to pass the check.
# -g0 disables backtraces when SEGV. Do not set that.
- name: Run configure
Expand All @@ -93,18 +98,6 @@ jobs:

- run: make

- run: make test

- run: make install

- run: make test-tool

### test-all doesn't work: https://github.com/ruby/ruby/actions/runs/4340112185/jobs/7578344307
# - run: make test-all TESTS='-- ruby -ext-'

### test-spec doesn't work: https://github.com/ruby/ruby/actions/runs/4340193212/jobs/7578505652
# - run: make test-spec

- run: make test-annocheck

- uses: ./.github/actions/slack
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/baseruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,13 @@ jobs:
strategy:
matrix:
ruby:
- ruby-2.7
- ruby-3.0
- ruby-3.1
- ruby-3.2
- ruby-3.3

steps:
- uses: ruby/setup-ruby@22fdc77bf4148f810455b226c90fb81b5cbc00a7 # v1.171.0
- uses: ruby/setup-ruby@d4526a55538b775af234ba4af27118ed6f8f6677 # v1.172.0
with:
ruby-version: ${{ matrix.ruby }}
bundler: none
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/check_dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,11 @@ jobs:

- uses: ./.github/actions/setup/directories

- uses: ruby/setup-ruby@d4526a55538b775af234ba4af27118ed6f8f6677 # v1.172.0
with:
ruby-version: '3.0'
bundler: none

- name: Run configure
run: ./configure -C --disable-install-doc --disable-rubygems --with-gcc 'optflags=-O0' 'debugflags=-save-temps=obj -g'

Expand Down
15 changes: 7 additions & 8 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,7 @@ jobs:
security-events: write # for github/codeql-action/autobuild to send a status report
# CodeQL fails to run pull requests from dependabot due to missing write access to upload results.
if: >-
${{github.repository == 'ruby/ruby' &&
!(false
${{!(false
|| contains(github.event.head_commit.message, '[DOC]')
|| contains(github.event.pull_request.title, '[DOC]')
|| contains(github.event.pull_request.labels.*.name, 'Documentation')
Expand All @@ -58,14 +57,14 @@ jobs:
os: ubuntu-latest
# ruby analysis used large memory. We need to use a larger runner.
- language: ruby
os: macos-arm-oss
os: ${{ github.repository == 'ruby/ruby' && 'macos-arm-oss' || 'macos-14' }}

steps:
- name: Checkout repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1

- name: Install libraries
if: ${{ matrix.os == 'macos-arm-oss' }}
if: ${{ contains(matrix.os, 'macos') }}
uses: ./.github/actions/setup/macos

- name: Install libraries
Expand All @@ -79,15 +78,15 @@ jobs:
run: sudo rm /usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb

- name: Initialize CodeQL
uses: github/codeql-action/init@e8893c57a1f3a2b659b6b55564fdfdbbd2982911 # v3.24.0
uses: github/codeql-action/init@e2e140ad1441662206e8f97754b166877dfa1c73 # v3.24.4
with:
languages: ${{ matrix.language }}

- name: Autobuild
uses: github/codeql-action/autobuild@e8893c57a1f3a2b659b6b55564fdfdbbd2982911 # v3.24.0
uses: github/codeql-action/autobuild@e2e140ad1441662206e8f97754b166877dfa1c73 # v3.24.4

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@e8893c57a1f3a2b659b6b55564fdfdbbd2982911 # v3.24.0
uses: github/codeql-action/analyze@e2e140ad1441662206e8f97754b166877dfa1c73 # v3.24.4
with:
category: '/language:${{ matrix.language }}'
upload: False
Expand Down Expand Up @@ -117,7 +116,7 @@ jobs:
continue-on-error: true

- name: Upload SARIF
uses: github/codeql-action/upload-sarif@e8893c57a1f3a2b659b6b55564fdfdbbd2982911 # v3.24.0
uses: github/codeql-action/upload-sarif@e2e140ad1441662206e8f97754b166877dfa1c73 # v3.24.4
with:
sarif_file: sarif-results/${{ matrix.language }}.sarif
continue-on-error: true
5 changes: 2 additions & 3 deletions .github/workflows/compilers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -276,11 +276,10 @@ jobs:
if: ${{ matrix.entry.check }}

- run: make test-spec
env:
CHECK_LEAKS: true
if: ${{ matrix.entry.check }}

- run: make test-annocheck
if: ${{ matrix.entry.check && endsWith(matrix.entry.name, 'annocheck') }}

- uses: ./.github/actions/slack
with:
label: ${{ matrix.entry.name }}
Expand Down
105 changes: 92 additions & 13 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,21 @@ on:
# https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/troubleshooting-required-status-checks#handling-skipped-but-required-checks
merge_group:

env:
# GITHUB_PULL_REQUEST_URL are used for commenting test reports in Launchable Github App.
# https://github.com/launchableinc/cli/blob/v1.80.1/launchable/utils/link.py#L42
GITHUB_PULL_REQUEST_URL: ${{ github.event.pull_request.html_url }}
# The following envs are necessary in Launchable tokenless authentication.
# https://github.com/launchableinc/cli/blob/v1.80.1/launchable/utils/authentication.py#L20
LAUNCHABLE_ORGANIZATION: ${{ github.repository_owner }}
LAUNCHABLE_WORKSPACE: ${{ github.event.repository.name }}
# https://github.com/launchableinc/cli/blob/v1.80.1/launchable/utils/authentication.py#L71
GITHUB_PR_HEAD_SHA: ${{ github.event.pull_request.head.sha || github.sha }}
# This secret setting is needed if you want to run Launchable on your forked
# repository.
# See https://github.com/ruby/ruby/wiki/CI-Servers#launchable-ci for details.
LAUNCHABLE_TOKEN: ${{ secrets.LAUNCHABLE_TOKEN }}

concurrency:
group: ${{ github.workflow }} / ${{ startsWith(github.event_name, 'pull') && github.ref_name || github.sha }}
cancel-in-progress: ${{ startsWith(github.event_name, 'pull') }}
Expand All @@ -25,13 +40,17 @@ jobs:
strategy:
matrix:
test_task: ['check']
configure: ['']
os: ${{ fromJSON(format('["macos-12","macos-13"{0}]', (github.repository == 'ruby/ruby' && ',"macos-arm-oss"' || ''))) }}
test_opts: ['']
os:
- macos-12
- macos-13
- ${{ github.repository == 'ruby/ruby' && 'macos-arm-oss' || 'macos-14' }}
include:
- test_task: test-all TESTS=--repeat-count=2
os: ${{ github.repository == 'ruby/ruby' && 'macos-arm-oss' || 'macos-13' }}
- test_task: test-all
test_opts: --repeat-count=2
os: ${{ github.repository == 'ruby/ruby' && 'macos-arm-oss' || 'macos-14' }}
- test_task: test-bundled-gems
os: ${{ github.repository == 'ruby/ruby' && 'macos-arm-oss' || 'macos-13' }}
os: ${{ github.repository == 'ruby/ruby' && 'macos-arm-oss' || 'macos-14' }}
fail-fast: false

env:
Expand All @@ -48,10 +67,23 @@ jobs:
)}}

steps:
- name: Enable Launchable conditionally
id: enable_launchable
run: echo "enable_launchable=true" >> $GITHUB_OUTPUT
working-directory:
if: >-
${{
(github.repository == 'ruby/ruby' ||
(github.repository != 'ruby/ruby' && env.LAUNCHABLE_TOKEN)) &&
(matrix.test_task == 'check' || matrix.test_task == 'test-all')
}}

- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
sparse-checkout-cone-mode: false
sparse-checkout: /.github
# Set fetch-depth: 0 so that Launchable can receive commits information.
fetch-depth: 0

- name: Install libraries
uses: ./.github/actions/setup/macos
Expand All @@ -64,37 +96,83 @@ jobs:
dummy-files: ${{ matrix.test_task == 'check' }}

- name: Run configure
run: ../src/configure -C --disable-install-doc ${{ matrix.configure }}
run: ../src/configure -C --disable-install-doc

- run: make prepare-gems
if: ${{ matrix.test_task == 'test-bundled-gems' }}

- run: make

- name: Set test options for skipped tests
run: |
set -x
TESTS="$(echo "${{ matrix.skipped_tests }}" | sed 's| |$$/ -n!/|g;s|^|-n!/|;s|$|$$/|')"
echo "TESTS=${TESTS}" >> $GITHUB_ENV
if: ${{ matrix.test_task == 'check' && matrix.skipped_tests }}

# Launchable CLI requires Python and Java
# https://www.launchableinc.com/docs/resources/cli-reference/
- name: Set up Python
uses: actions/setup-python@871daa956ca9ea99f3c3e30acb424b7960676734 # v5.0.0
with:
python-version: "3.x"
if: steps.enable_launchable.outputs.enable_launchable

- name: Set up Java
uses: actions/setup-java@7a445ee88d4e23b52c33fdc7601e40278616c7f8 # v4.0.0
with:
distribution: 'temurin'
java-version: '17'
if: steps.enable_launchable.outputs.enable_launchable

- name: Set up Launchable
run: |
set -x
PATH=$PATH:$(python -msite --user-base)/bin
echo "PATH=$PATH" >> $GITHUB_ENV
pip install --user launchable
launchable verify
: # The build name cannot include a slash, so we replace the string here.
github_ref="$(echo ${{ github.ref }} | sed 's/\//_/g')"
: # With the --name option, we need to configure a unique identifier for this build.
: # To avoid setting the same build name as the CI which runs on other branches, we use the branch name here.
: #
: # FIXME: Need to fix `WARNING: Failed to process a change to a file`.
: # https://github.com/launchableinc/cli/issues/786
launchable record build --name ${github_ref}_${GITHUB_PR_HEAD_SHA}
echo "TESTS=${TESTS} --launchable-test-reports=launchable_reports.json" >> $GITHUB_ENV
if: steps.enable_launchable.outputs.enable_launchable

- name: Set extra test options
run: echo "TESTS=$TESTS ${{ matrix.test_opts }}" >> $GITHUB_ENV
if: matrix.test_opts

- name: make ${{ matrix.test_task }}
run: |
make -s ${{ matrix.test_task }} ${TESTS:+TESTS=`echo "$TESTS" | sed 's| |$$/ -n!/|g;s|^|-n!/|;s|$|$$/|'`}
make -s ${{ matrix.test_task }} ${TESTS:+TESTS="$TESTS"}
timeout-minutes: 60
env:
RUBY_TESTOPTS: '-q --tty=no'
TESTS: ${{ matrix.test_task == 'check' && matrix.skipped_tests || '' }}
TEST_BUNDLED_GEMS_ALLOW_FAILURES: 'typeprof'
TEST_BUNDLED_GEMS_ALLOW_FAILURES: 'minitest,test-unit,debug,bigdecimal,drb,typeprof'
PRECHECK_BUNDLED_GEMS: 'no'

- name: make skipped tests
run: |
make -s test-all TESTS=`echo "$TESTS" | sed 's| |$$/ -n/|g;s|^|-n/|;s|$|$$/|'`
make -s test-all TESTS="${TESTS//-n!\//-n/}"
env:
GNUMAKEFLAGS: ''
RUBY_TESTOPTS: '-v --tty=no'
TESTS: ${{ matrix.skipped_tests }}
PRECHECK_BUNDLED_GEMS: 'no'
if: ${{ matrix.test_task == 'check' && matrix.skipped_tests != '' }}
if: ${{ matrix.test_task == 'check' && matrix.skipped_tests }}
continue-on-error: ${{ matrix.continue-on-skipped_tests || false }}

- name: Launchable - record tests
run: launchable record tests --flavor os=${{ matrix.os }} --flavor test_task=${{ matrix.test_task }} raw launchable_reports.json
if: ${{ always() && steps.enable_launchable.outputs.enable_launchable }}

- uses: ./.github/actions/slack
with:
label: ${{ matrix.os }} / ${{ matrix.test_task }} ${{ matrix.configure }}
label: ${{ matrix.os }} / ${{ matrix.test_task }}
SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot
if: ${{ failure() }}

Expand All @@ -105,6 +183,7 @@ jobs:
needs: [make]
steps:
- run: exit 1
working-directory:
if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}

defaults:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/mingw.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
include:
# To mitigate flakiness of MinGW CI, we test only one runtime that newer MSYS2 uses.
- msystem: 'UCRT64'
baseruby: '2.7'
baseruby: '3.0'
test_task: 'check'
test-all-opts: '--name=!/TestObjSpace#test_reachable_objects_during_iteration/'
fail-fast: false
Expand All @@ -64,7 +64,7 @@ jobs:

steps:
- name: Set up Ruby & MSYS2
uses: ruby/setup-ruby@22fdc77bf4148f810455b226c90fb81b5cbc00a7 # v1.171.0
uses: ruby/setup-ruby@d4526a55538b775af234ba4af27118ed6f8f6677 # v1.172.0
with:
ruby-version: ${{ matrix.baseruby }}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/prism.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ jobs:
timeout-minutes: 40
env:
GNUMAKEFLAGS: ''
RUBY_TESTOPTS: '-q --tty=no --excludes-dir="../src/test/.excludes-prism" --exclude="test_ast.rb" --exclude="test_regexp.rb" --exclude="error_highlight/test_error_highlight.rb"'
RUBY_TESTOPTS: '-q --tty=no --excludes-dir="../src/test/.excludes-prism" --exclude="test_ast.rb" --exclude="test_regexp.rb" --exclude="error_highlight/test_error_highlight.rb" --exclude="irb/test_context.rb" --exclude="prism/encoding_test.rb" --exclude="prism/unescape_test.rb"'
RUN_OPTS: ${{ matrix.run_opts }}

# - name: make test-spec
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/rjit-bindgen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:

steps:
- name: Set up Ruby
uses: ruby/setup-ruby@22fdc77bf4148f810455b226c90fb81b5cbc00a7 # v1.171.0
uses: ruby/setup-ruby@d4526a55538b775af234ba4af27118ed6f8f6677 # v1.172.0
with:
ruby-version: '3.1'

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/scorecards.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,6 @@ jobs:

# Upload the results to GitHub's code scanning dashboard.
- name: 'Upload to code-scanning'
uses: github/codeql-action/upload-sarif@cdcdbb579706841c47f7063dda365e292e5cad7a # v2.1.27
uses: github/codeql-action/upload-sarif@e2e140ad1441662206e8f97754b166877dfa1c73 # v2.1.27
with:
sarif_file: results.sarif
4 changes: 3 additions & 1 deletion .github/workflows/spec_guards.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1

- uses: ruby/setup-ruby@22fdc77bf4148f810455b226c90fb81b5cbc00a7 # v1.171.0
- uses: ruby/setup-ruby@d4526a55538b775af234ba4af27118ed6f8f6677 # v1.172.0
with:
ruby-version: ${{ matrix.ruby }}
bundler: none
Expand All @@ -54,6 +54,8 @@ jobs:

- run: ruby ../mspec/bin/mspec
working-directory: spec/ruby
env:
CHECK_LEAKS: true

- uses: ./.github/actions/slack
with:
Expand Down
Loading
Loading