summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-10-14Use unique names for result jobsTakashi Kokubun
If these jobs have the same name, GitHub allows merging a pull request as soon as one of these jobs finishes. We want to wait for all these jobs, so we have to use different names. Since we don't skip this result job on [DOC], it's okay to use a templated variable for this name.
2023-10-14Add result job for required status checksTakashi Kokubun
We've been using matrix jobs as required status checks. However, when [DOC] pull requests are created, the matrix content and templated variables are not executed, which results in changing the name of the matrix jobs. Then required status checks are considered missing because of the different names. So we can't merge [DOC] PRs right now. This `result` is a known technique to check the composite status of matrix jobs. https://github.com/orgs/community/discussions/26822 The `result` job is not only a non-matrix job, which doesn't have the above problem, but also an independent job that is not skipped by [DOC]. `needs` works even if all dependent jobs are skipped, so this trick works well. This is also useful when we want to change the content of matrix. When we change one, we usually have to update branches of old pull requests so that they get newly required jobs. However, with this method, only `result` jobs are required, so you don't need to update old pull requests. I still don't like the fact that now you cannot visualize which matrix jobs are "Required", but this seems like the best compromise.
2023-10-14The needs != '' check is brokenTakashi Kokubun
2023-10-15Fix typo in steps references [ci skip]Nobuyoshi Nakada
2023-10-15[DOC] Fix the argument name in the Numeric#step docKouhei Yanagita
2023-10-15[rubygems/rubygems] Fix force_ruby_platform: when the lockfile only locks ↵Samuel Giddins
the ruby platform https://github.com/rubygems/rubygems/commit/7c50064c3c
2023-10-14YJIT: Count cold_iseq_entry by default (#8654)Takashi Kokubun
2023-10-15disable MN threads on s390s-linuxKoichi Sasada
I check the s390s-linux/Ubuntu system and I found that MN threads doesn't work with: * function inlining (-O0 doesn't repro) * Thread local specifier (`_Thread_local`. With `pthread_get_specific works) (it is not an issue of `__tls_get_addr()` written in thread.c) * swap context with ucontext (coroutine/ucontext) I couldn't find out what is the root cause of this issue but disable MN threads to make CI healthy.
2023-10-14[ruby/cgi] doc: fix method nameAlexandre ZANNI
there was probably a copy paste mistake in the example of unescapeURIComponent (copied from unescape) https://github.com/ruby/cgi/commit/f8fb627e90
2023-10-14[ruby/irb] Restore encoding in InputCompletor testtomoya ishida
(https://github.com/ruby/irb/pull/732) https://github.com/ruby/irb/commit/ef77c232cf
2023-10-14Update default gems list at 177d8ee056636511379f6971a6c4e4 [ci skip]git
2023-10-14[ruby/irb] Bump version to 1.8.3tomoya ishida
(https://github.com/ruby/irb/pull/731) https://github.com/ruby/irb/commit/de79375ac1
2023-10-14[ruby/prism] Put names on back reference read nodesKevin Newton
https://github.com/ruby/prism/commit/10a6403293
2023-10-14[ruby/irb] Restore IRB::InputCompletor for compatibilitytomoya ishida
(https://github.com/ruby/irb/pull/730) https://github.com/ruby/irb/commit/77265efc5f
2023-10-14Ignore symbols even in empty shared libraryNobuyoshi Nakada
On some platforms, such as FreeBSD and Oracle Linux, symbols defined in the crt0 setup routine are exported from shared libraries. So ignore the symbols that would be exported even in an empty shared library.
2023-10-14release sched_lock before VM lockKoichi Sasada
to avoid deadlock ```ruby r = Ractor.new do obj = Thread.new{} Ractor.yield obj rescue => e e.message end p r.take ``` ``` (lldb) bt * thread #1, name = 'miniruby', stop reason = signal SIGSTOP * frame #0: 0x0000ffff44881410 libpthread.so.0`__lll_lock_wait + 88 frame #1: 0x0000ffff4487a078 libpthread.so.0`__pthread_mutex_lock + 232 frame #2: 0x0000aaab617c0980 miniruby`rb_native_mutex_lock(lock=<unavailable>) at thread_pthread.c:109:14 frame #3: 0x0000aaab617c1d58 miniruby`ubf_event_waiting [inlined] thread_sched_lock_(th=0x0000aaab9df82980, file=<unavailable>, line=46, sched=0x0000aaab9dec79b8) at thread_pthread.c:351:5 frame #4: 0x0000aaab617c1d50 miniruby`ubf_event_waiting(ptr=0x0000aaab9df82980) at thread_pthread_mn.c:46:5 frame #5: 0x0000aaab617c6020 miniruby`rb_threadptr_interrupt [inlined] rb_threadptr_interrupt_common(trap=0, th=0x0000aaab9df82980) at thread.c:352:25 frame #6: 0x0000aaab617c5fec miniruby`rb_threadptr_interrupt(th=0x0000aaab9df82980) at thread.c:365:5 frame #7: 0x0000aaab617379b0 miniruby`rb_ractor_terminate_all at ractor.c:2364:13 frame #8: 0x0000aaab6173797c miniruby`rb_ractor_terminate_all at ractor.c:2383:17 frame #9: 0x0000aaab61737958 miniruby`rb_ractor_terminate_all [inlined] ractor_terminal_interrupt_all(vm=0x0000aaab9dea3320) at ractor.c:2375:1 frame #10: 0x0000aaab61737950 miniruby`rb_ractor_terminate_all at ractor.c:2424:13 frame #11: 0x0000aaab6164f108 miniruby`rb_ec_cleanup(ec=0x0000aaab9dea5900, ex=RUBY_TAG_NONE) at eval.c:239:9 frame #12: 0x0000aaab6164fa3c miniruby`ruby_run_node(n=0x0000ffff417ed178) at eval.c:328:12 frame #13: 0x0000aaab615a5ab0 miniruby`main at main.c:39:12 frame #14: 0x0000aaab615a5a98 miniruby`main(argc=<unavailable>, argv=<unavailable>) at main.c:58:12 frame #15: 0x0000ffff44714b2c libc.so.6`__libc_start_main + 228 frame #16: 0x0000aaab615a5b0c miniruby`_start + 52 (lldb) thread select 3 * thread #3, name = 'bootstraptest.*', stop reason = signal SIGSTOP frame #0: 0x0000ffff448813ec libpthread.so.0`__lll_lock_wait + 52 libpthread.so.0`__lll_lock_wait: -> 0xffff448813ec <+52>: svc #0 0xffff448813f0 <+56>: eor w20, w20, #0x80 0xffff448813f4 <+60>: sxtw x20, w20 0xffff448813f8 <+64>: b 0xffff44881414 ; <+92> (lldb) bt * thread #3, name = 'bootstraptest.*', stop reason = signal SIGSTOP * frame #0: 0x0000ffff448813ec libpthread.so.0`__lll_lock_wait + 52 frame #1: 0x0000ffff4487a078 libpthread.so.0`__pthread_mutex_lock + 232 frame #2: 0x0000aaab617c0980 miniruby`rb_native_mutex_lock(lock=<unavailable>) at thread_pthread.c:109:14 frame #3: 0x0000aaab61823d68 miniruby`rb_vm_lock_enter_body [inlined] vm_lock_enter(no_barrier=false, lev=0x0000ffff215bfbe4, locked=false, vm=0x0000aaab9dea3320, cr=0x0000aaab9dec7890) at vm_sync.c:57:9 frame #4: 0x0000aaab61823d60 miniruby`rb_vm_lock_enter_body(lev=0x0000ffff215bfbe4) at vm_sync.c:119:9 frame #5: 0x0000aaab617c1b30 miniruby`thread_sched_setup_running_threads [inlined] rb_vm_lock_enter(file=<unavailable>, line=597, lev=0x0000ffff215bfbe4) at vm_sync.h:75:9 frame #6: 0x0000aaab617c1b14 miniruby`thread_sched_setup_running_threads(vm=0x0000aaab9dea3320, add_th=0x0000aaab9df82980, del_th=<unavailable>, add_timeslice_th=0x0000000000000000, cr=<unavailable>, sched=<unavailable>, sched=<unavailable>) at thread_pthread.c:597:9 frame #7: 0x0000aaab617c29b4 miniruby`thread_sched_wait_running_turn at thread_pthread.c:614:5 frame #8: 0x0000aaab617c298c miniruby`thread_sched_wait_running_turn(sched=0x0000aaab9dec79b8, th=0x0000aaab9df82980, can_direct_transfer=true) at thread_pthread.c:868:9 frame #9: 0x0000aaab617c6f0c miniruby`thread_sched_wait_events(sched=0x0000aaab9dec79b8, th=0x0000aaab9df82980, fd=<unavailable>, events=<unavailable>, rel=<unavailable>) at thread_pthread_mn.c:90:17 frame #10: 0x0000aaab617c7354 miniruby`rb_thread_terminate_all at thread_pthread.c:3248:13 frame #11: 0x0000aaab617c733c miniruby`rb_thread_terminate_all(th=0x0000aaab9df82980) at thread.c:466:13 frame #12: 0x0000aaab617c7a64 miniruby`thread_start_func_2(th=0x0000aaab9df82980, stack_start=<unavailable>) at thread.c:713:9 frame #13: 0x0000aaab617c7d1c miniruby`co_start [inlined] call_thread_start_func_2(th=0x0000aaab9df82980) at thread_pthread.c:2165:5 frame #14: 0x0000aaab617c7cd0 miniruby`co_start(from=<unavailable>, self=0x0000aaab9df0f760) at thread_pthread_mn.c:421:9 ```
2023-10-13Avoid using MATZBOT_GITHUB_TOKEN for pull requestsTakashi Kokubun
2023-10-14[Bug #19926] Fix Range#size for ranges with a Rational endpointKouhei Yanagita
2023-10-14Fix node type castsyui-knk
Use new node type set by nd_set_type.
2023-10-14Delete heredoc line mark referencesNobuyoshi Nakada
2023-10-14Shorten `rb_strterm_literal_t` membersNobuyoshi Nakada
2023-10-14Manage `rb_strterm_t` without imemoNobuyoshi Nakada
2023-10-14Remove unions in `rb_strterm` structs for alignmentNobuyoshi Nakada
2023-10-13Use the variable to skip the checkoutTakashi Kokubun
2023-10-13Skip a duplicated checkoutTakashi Kokubun
2023-10-13Update default gems list at 0950f22cc0c848a73f1b80d0e63fcd [ci skip]git
2023-10-13Just reorder the checkoutTakashi Kokubun
2023-10-13secrets cannot be templated in a shared actionTakashi Kokubun
2023-10-13Give a token to the shared checkout as wellTakashi Kokubun
2023-10-14Allow `NON_SCALAR_THREAD_ID` machinesKoichi Sasada
s390x (Ubuntu) still fails tests with 62dfaeec2c.
2023-10-13Use matzbot's token to push misc commitsTakashi Kokubun
to bypass status checks of branch protection
2023-10-13[ruby/prism] Simplify DedentingHeredoc#to_aMau Magnaguagno
Move common ``results << token`` outside case-when. https://github.com/ruby/prism/commit/84d0722ee9
2023-10-13[ruby/prism] Make PM_NODE_FLAG_COMMON_MASK into a constantKevin Newton
https://github.com/ruby/prism/commit/ec66feb595
2023-10-13[ruby/prism] Bump version to 0.14.0Kevin Newton
https://github.com/ruby/prism/commit/1731bf4520
2023-10-13[ruby/prism] Move common flags to top bitseileencodes
Moves the common flag bits to the top. This lets us eliminate the `COMMON` constant, and also allows us to group encoding flags on a nibble so we can more easily mask them. https://github.com/ruby/prism/commit/895508659e
2023-10-13[prism] Remove unused make targetKevin Newton
2023-10-13[prism] Remove unescape targetsKevin Newton
2023-10-13[ruby/prism] Fix up PR failingsKevin Newton
https://github.com/ruby/prism/commit/11255f636e
2023-10-13[ruby/prism] Remove now-defunct semantic_field from nodesKevin Newton
https://github.com/ruby/prism/commit/c82a9dad64
2023-10-13[ruby/prism] Final unescapes cleanupKevin Newton
https://github.com/ruby/prism/commit/bfcd8262a4
2023-10-13[ruby/prism] Refactor unescape test to simplifyKevin Newton
https://github.com/ruby/prism/commit/4392775898
2023-10-13Remove old unescaping codeKevin Newton
2023-10-13[ruby/prism] Properly handle unescaping in regexpKevin Newton
https://github.com/ruby/prism/commit/abf9fd6863
2023-10-13[ruby/prism] Use current_string to handle :" symbolsKevin Newton
https://github.com/ruby/prism/commit/eedeec8f9a
2023-10-13[ruby/prism] Use current_string for :' symbolsKevin Newton
https://github.com/ruby/prism/commit/fadb5be520
2023-10-13[ruby/prism] Use current_string for %s symbol literalsKevin Newton
https://github.com/ruby/prism/commit/52504f8911
2023-10-13[ruby/prism] Split up lines in tilde heredocsKevin Newton
https://github.com/ruby/prism/commit/21fad0c2ce
2023-10-13[ruby/prism] Calculate heredoc common whitespace while lexingKevin Newton
https://github.com/ruby/prism/commit/c3f43b64a3
2023-10-13[ruby/prism] Enable remaining heredoc unescape testsKevin Newton
https://github.com/ruby/prism/commit/c7ea4941c5
2023-10-13[ruby/prism] Use current_string for escapes in heredocsKevin Newton
https://github.com/ruby/prism/commit/fc49acfc59