1492 Commits

Author SHA1 Message Date
Alan Wu
fb72ff7be0 CI: Avoid building ZJIT when LLVM is too old 2025-12-05 15:49:25 -05:00
Alan Wu
f01fd2bde2 JITs: Update bindings to include interpreter zjit_ opcodes
Mostly YJIT. ZJIT already has the right bindings and this just tweaks
the CI configuration.
2025-12-05 15:49:25 -05:00
dependabot[bot]
bf144d8c10 Bump actions/checkout from 6.0.0 to 6.0.1
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v6...v6.0.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-02 18:31:11 -08:00
Nobuyoshi Nakada
e2d176556e CI: Distclean mswin
Use the given `make-command` instead of the hard-coded `make` command.

TODO: Use it for `make up` as well, in the future.
2025-12-02 09:55:01 +09:00
Peter Zhu
e13ad22274 Re-enable clang-18
The issue might have been fixed in 8bf333a.
2025-11-29 07:15:57 -08:00
dependabot[bot]
3b09db3b35 Bump actions/checkout from 5.0.1 to 6.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 5.0.1 to 6.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v5.0.1...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-27 16:36:52 +09:00
Alan Wu
724e94a09c ZJIT: CI: Run btest with call-threshold=2 2025-11-25 21:26:08 -05:00
Nobuyoshi Nakada
7ba986383c
CI: Add timeout to compilations [ci skip] 2025-11-25 13:55:20 +09:00
Nobuyoshi Nakada
32a4545ee4
CI: Abandon CAPI check on macos-15
`hashFiles` is very unstable on macOS runners.
2025-11-23 21:46:51 +09:00
Peter Zhu
7ae0809c7c Remove clang-18 from compilers CI
clang-18 has a bug that causes ruby_current_ec to sometimes be null when
using Ractors and crashes like this:

    <internal:ractor>:700: [BUG] Segmentation fault at 0x0000000000000030
    ruby 4.0.0dev (2025-11-21T06:49:14Z master bcc7b2049c) +PRISM [x86_64-linux]

    -- Control frame information -----------------------------------------------
    c:0004 p:0003 s:0015 e:000014 l:y b:0001 METHOD <internal:ractor>:700
      me:
        called_id: receive, type: iseq
        owner class: 0x00007ff462dda500 T_CLASS/Ractor::Port
      self: 0x00007ff46146d068 ractor/port/Ractor::Port ractor/port
    c:0003 p:0008 s:0011 e:000010 l:y b:0001 METHOD <internal:ractor>:311
      me:
        called_id: receive, type: iseq
        owner class: 0x00007ff462ddae60 T_CLASS/(anon)
      self: 0x00007ff462ddaf00 T_CLASS/Ractor
    c:0002 p:0010 s:0007 e:000006 l:n b:---- BLOCK  bootstraptest.test_ractor.rb_2354_1323.rb:9 [FINISH]
      self: 0x00007ff46146d090 ractor/Ractor r:68
      lvars:
        j: T_FIXNUM 66
    c:0001 p:---- s:0003 e:000002 l:y b:---- DUMMY  [FINISH]
      self: T_NIL

    -- Ruby level backtrace information ----------------------------------------
    bootstraptest.test_ractor.rb_2354_1323.rb:9:in 'block (2 levels) in <main>'
    <internal:ractor>:311:in 'receive'
    <internal:ractor>:700:in 'receive'

    -- Threading information ---------------------------------------------------
    Total ractor count: 7
    Ruby thread count for this ractor: 1

    -- Machine register context ------------------------------------------------
    RIP: 0x00007ff47c7df5f0 RBP: 0x000055d77ea5b4f0 RSP: 0x00007ff445fa3af0
    RAX: 0x0000000000000000 RBX: 0x000055d77e9fd068 RCX: 0x000055d77e9fd040
    RDX: 0x000055d77eb2ac40 RDI: 0x00007ff47cbe7700 RSI: 0x0000000000000000
      R8: 0x0000000000000000  R9: 0x0000000000000000 R10: 0x000055d77e9fc830
    R11: 0x93ba1054e59bfb14 R12: 0x000055d77ea5b4f0 R13: 0x00007ff445f82f20
    R14: 0x00007ff4614cf668 R15: 0x000055d77e9fd040 EFL: 0x0000000000010246

    -- C level backtrace information -------------------------------------------
    libruby.so.4.0(rb_print_backtrace+0x14) [0x7ff47c8cbd18] vm_dump.c:1105
    libruby.so.4.0(rb_vm_bugreport) vm_dump.c:1450
    libruby.so.4.0(rb_bug_for_fatal_signal+0x162) [0x7ff47c70ce02] error.c:1131
    libruby.so.4.0(sigsegv+0x4a) [0x7ff47c82f20a] signal.c:948
    /lib/x86_64-linux-gnu/libc.so.6(0x7ff47c34a330) [0x7ff47c34a330]
    libruby.so.4.0(rb_ec_thread_ptr+0x0) [0x7ff47c7df5f0] vm_core.h:2092
    libruby.so.4.0(rb_ec_ractor_ptr) vm_core.h:2041
    libruby.so.4.0(rb_current_execution_context) vm_core.h:2110
    libruby.so.4.0(rb_current_ractor_raw) vm_core.h:2109
    libruby.so.4.0(rb_current_ractor) vm_core.h:2117
    libruby.so.4.0(ractor_unlock) ractor.c:110
    libruby.so.4.0(ractor_unlock_self) ractor.c:125
    libruby.so.4.0(ractor_wait) ractor_sync.c:1054
    libruby.so.4.0(ractor_wait_receive) ractor_sync.c:1113
    libruby.so.4.0(ractor_receive+0x25) [0x7ff47c7ded08] ractor_sync.c:1166
    libruby.so.4.0(ractor_port_receive) ractor_sync.c:143
    libruby.so.4.0(builtin_inline_class_700) ractor.rb:701
    libruby.so.4.0(invoke_bf+0x4) [0x7ff47c8a2060] vm_insnhelper.c:7534
    libruby.so.4.0(vm_invoke_builtin_delegate) vm_insnhelper.c:0
    libruby.so.4.0(vm_exec_core) insns.def:1674
    libruby.so.4.0(vm_exec_loop+0x0) [0x7ff47c89b868] vm.c:2784
    libruby.so.4.0(rb_vm_exec) vm.c:2787
    libruby.so.4.0(vm_invoke_proc+0x344) [0x7ff47c8b03f4] vm.c:1814
    libruby.so.4.0(thread_do_start_proc+0x17a) [0x7ff47c870bba] thread.c:593
    libruby.so.4.0(thread_do_start+0x162) [0x7ff47c87042f] thread.c:635
    libruby.so.4.0(thread_start_func_2) thread.c:686
    libruby.so.4.0(rb_native_mutex_lock+0x0) [0x7ff47c870fd1] thread_pthread.c:2238
    libruby.so.4.0(thread_sched_lock_) thread_pthread.c:403
    libruby.so.4.0(call_thread_start_func_2) thread_pthread_mn.c:466
    libruby.so.4.0(co_start) thread_pthread_mn.c:464
2025-11-21 07:30:37 -08:00
Nobuyoshi Nakada
9d04fb52af
CI: cmake in scoop seems unused 2025-11-21 10:51:29 +09:00
dependabot[bot]
b5d0aac900 Bump actions/checkout from 5.0.0 to 5.0.1
Bumps [actions/checkout](https://github.com/actions/checkout) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v5...v5.0.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 5.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-17 18:34:37 -08:00
Daisuke Fujimura (fd0)
6fabca80a3 Add rubygems package to fix cygwin CI 2025-11-15 08:37:23 +09:00
Takashi Kokubun
de157f423e
ZJIT: Skip a flaky DNS test (#15192) 2025-11-14 18:46:42 +00:00
Takashi Kokubun
d966ba757c Revert ".github/workflows: Stop ignoring RUBY_TESTOPTS"
This reverts commit 946695cdad874e91bc25bedc3c7b322934ca0f07.

Apparently this doesn't work for test-bundled-gems
2025-11-14 10:16:10 -08:00
Takashi Kokubun
946695cdad .github/workflows: Stop ignoring RUBY_TESTOPTS
$(RUBY_TESTOPTS) are used in $(TESTOPTS), so if you pass $(TESTOPTS),
it'd be ignored.
2025-11-14 09:52:20 -08:00
Takashi Kokubun
fb48b3020c spec_guards.yml: Add fail-fast: false
fail-fast is never a good idea for master branch.
2025-11-12 12:41:49 -08:00
Hiroshi SHIBATA
b33da0a6aa
Added email and name for git pull --rebase
```
Rebasing (1/3)
Committer identity unknown

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.
```
2025-11-12 10:35:34 +09:00
dependabot[bot]
cb50ed2cc2 Bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 12:04:49 +09:00
Takashi Kokubun
17efb770c8 sync_default_gems.yml: Pull --rebase before push
It was supposed to update a local branch in case the remote branch was
updated between actions/checkout and the end of tool/sync_default_gems.rb.

Note that this `git pull` didn't exist in the original bin/update-default-gem.sh
d9e9bcc60d,
so it was newly introduced at 3ba5cfd1cb.

But `git pull --no-ff` failed when master had updates in an unrelated
repository. I think we need to use `git pull --rebase` instead.

This fixes:

* https://github.com/ruby/ruby/actions/runs/19207693793/job/54905403070
    * checkout: f08030e9dccf38d9ea5c9505203fe26484dc28d8
    * ruby tool/sync_default_gems.rb net-http ec9c70a6fba75a63c128864ef3cb32c883665a33..e4d80bd609f22cad04a2e2c1d54c981bb853c938
    * pull: 2bf82c627494e785737037bbaf9a6b98f3c6354c
2025-11-09 10:01:56 -08:00
Takashi Kokubun
a7a4bb93fc
Automatically review default-gem pull requests (#15116) 2025-11-09 07:16:42 -08:00
Takashi Kokubun
529dd8d76e cygwin.yml: Disable a broken step
https://github.com/ruby/ruby/actions/runs/19201736990/job/54890646022
2025-11-08 19:49:32 -08:00
Takashi Kokubun
aacd9f206a Notify CI failures of Cygwin 2025-11-07 21:55:41 -08:00
Takashi Kokubun
c6c92bdce3
zjit-macos.yml: Unset MAKEFLAGS before ruby-bench (#15084) 2025-11-06 10:50:58 -08:00
Takashi Kokubun
d3d2357a6c
ZJIT: Run ruby-bench CI for macOS arm64 as well (#15040) 2025-11-05 09:57:59 -08:00
Hiroshi SHIBATA
2172057f1b Use Ruby 3.4 for sync_default_gems.rb
```
tool/sync_default_gems.rb:177:in `block in <module:SyncDefaultGems>': undefined local variable or method `it' for SyncDefaultGems:Module (NameError)

      it.exclude << "lib/open3/jruby_windows.rb"
      ^^
	from <internal:kernel>:90:in `tap'
	from tool/sync_default_gems.rb:176:in `<module:SyncDefaultGems>'
	from tool/sync_default_gems.rb:10:in `<main>'
```
2025-11-05 15:46:28 +09:00
Takashi Kokubun
c54faf29d3 release.yml: Use workflow_dispatch for docker-images
instead of repository_dispatch.

Only that workflow reacts to repository_dispatch, so just using
workflow_dispatch should be enough. We want to use workflow_dispatch for
manual triggers, and I don't want to maintain two different dispatch
methods in the workflow.
2025-10-30 15:23:47 -07:00
Takashi Kokubun
68dd1abdec
ZJIT: Run ruby-bench as a test suite (#15003) 2025-10-30 15:02:05 -07:00
Takashi Kokubun
9b1894690f zjit-ubuntu.yml: Remove an extra empty line 2025-10-30 10:44:35 -07:00
Nobuyoshi Nakada
f6c2a63845
CI: Exclude vendored sources at cheching if US-ASCII clean 2025-10-30 21:34:46 +09:00
Takashi Kokubun
eed9441afc Revert "CI: Re-enable Ubuntu arm with CAPI check"
This reverts commit 02fd62895d9a13f56253521dedd80e39d4eafbb5.

It stopped working again.
2025-10-29 11:25:29 -07:00
dependabot[bot]
5a14999d0d Bump actions/upload-artifact from 4 to 5
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-29 07:24:49 +09:00
Takashi Kokubun
afb0d43181
ZJIT: Drop --seed from test-all on CI (#14976) 2025-10-28 13:47:15 -07:00
Nobuyoshi Nakada
e529bf7d67
CI: Enable check on clangarm64 2025-10-23 23:19:37 +09:00
Nobuyoshi Nakada
c2860bff88
CI: Try mingw arm64 2025-10-17 15:09:16 +09:00
Hiroshi SHIBATA
9664191e19 Use ruby/setup-ruby v1.265.0 2025-10-17 10:54:32 +09:00
Alan Wu
21e81160e6 CI: Surface rustdoc warnings
Soft fails like warnings from rustc. The `rustdoc` warnings tend to be
dead links in the markup.
2025-10-12 00:51:59 -04:00
Takashi Kokubun
a5def9999c sync_default_gems.yml: Experiment with fetch-depth: 1
At the moment, we're not sure which gem relies on past renames. So we
try this, and revert it if it turns out to be necessary.

Given that it slows down every single sync, however, I'm thinking of
making tool/sync_default_gems.rb responsible for implementing all
necessary renames on cherry-picks using filter-branch (or any
modification on commits before pushing them).
2025-10-09 21:24:27 -07:00
Takashi Kokubun
c37d406883 ubuntu.yml: Add matrix.os in the notification label
At the moment, nothing in the notification tells you whether it was ibm
jobs or not. `matrix.os` seems like the easiest way to include that
information, so I added it in the label.
2025-10-09 21:17:16 -07:00
Alan Wu
83d0b064c8 ZJIT: Use clang-16 for bindgen on CI
Since many of us developing ZJIT are on at least Clang 16 locally now
due to recent macOS update, let's use Clang 16 on CI, too. There is
some differences between https://github.com/llvm/llvm-project
Clang and Apple Clang, even when the version number match, but I figure
it's good to shrink the difference anyways.
2025-10-09 17:11:53 -04:00
Takashi Kokubun
a29c90c3b0 sync_default_gems.yml: Include the gem name in the job name 2025-10-09 01:06:20 -07:00
Takashi Kokubun
baa1aad28b sync_default_gems.yml: Link the failed diff 2025-10-09 00:55:09 -07:00
Takashi Kokubun
5d3bd79034 sync_default_gems.yml: Notify which gem failed 2025-10-09 00:46:45 -07:00
Takashi Kokubun
8cd50a1470 sync_default_gems.yml: Notify an extra channel
which git.ruby-lang.org used to also notify.
2025-10-09 00:36:07 -07:00
Takashi Kokubun
a9adc2fcb4 sync_default_gems.yml: Fix the notification condition 2025-10-09 00:08:18 -07:00
Takashi Kokubun
2223ca1fd6
compilers.yml: Run only specified tests for --with-gmp (#14798)
It's weird that --with-gmp runs test-tool just because it needs to run
test/ruby/test_bignum.rb and spec/ruby/core/integer/*_spec.rb.
2025-10-08 23:55:14 -07:00
Nobuyoshi Nakada
3d2ee31fdc
Check core doc coverage always 2025-10-09 10:46:23 +09:00
Takashi Kokubun
fc08d36a15 post_push.yml: Rename commit-mail.rb back
to commit-email.rb.

I didn't realize I dropped a letter when I moved it. It wasn't really
intended, so I change it back.
2025-10-08 15:05:37 -07:00
Takashi Kokubun
5b8f47fa64 post_push.yml: Specify the full path of sendmail 2025-10-08 14:06:01 -07:00
Takashi Kokubun
7ec03e12b4
post_push.yml: Migrate commit-email.rb to post_push (#14779)
from post-receive.sh as of 8d24ac65b5.
2025-10-08 14:03:11 -07:00