summaryrefslogtreecommitdiff
path: root/tool
AgeCommit message (Collapse)Author
3 daysmerge revision(s) 9824724b2ffe583302e9318c6eff7a440478125f: [Backport #21815]Takashi Kokubun
[PATCH] Skip test_write_binary(GemSingletonTest) at rbs tests ``` Errno::EACCES: Permission denied @ rb_file_s_rename ... D:/a/ruby/ruby/src/lib/rubygems/util/atomic_file_writer.rb:42:in 'File.rename' ``` It may caused with atomic_file_writer.rb
3 daysredmine-backporter.rb: Check remote-tracking branchTakashi Kokubun
on `has_commit` check for the `backport` command. I don't maintain local "master" branch on my ruby repository for stable branch maintenance. I want just running `git fetch origin` to make it work. It should work for those who pull origin/master into their local master too.
2025-12-25rbs_skip_tests_windowsSoutaro Matsumoto
2025-12-25Skip test to avoid NoMemoryErrorSoutaro Matsumoto
2025-12-24Lrama v0.7.1yui-knk
2025-12-24Update the latest results of test-bundled-gemsHiroshi SHIBATA
2025-12-24Properly handle test cases terminated by signals in test-bundled-gemsYO4
Process::Status#exitstatus turn into nil when child process is signeled. When exit_code was unchanged, test-bundled-gems.rb returned 0 and make was unable to detect the failure. Fix this.
2025-12-23Bundle RBS 3.10.0 (#15701)Soutaro Matsumoto
* Bundle RBS 3.10.0 * Unskip BigDecimal tests
2025-12-23Merge RubyGems 4.0.3 and Bundler 4.0.3Hiroshi SHIBATA
2025-12-19Skip RBS Ractor test on WindowsNobuyoshi Nakada
It seems hunging up.
2025-12-19Extract `Test::JobServer` moduleNobuyoshi Nakada
A placeholder to handle GNU make jobserver option. spec/default.mspec didn't handle the jobserver using a FIFO.
2025-12-17test_sync_default_gems.rb: Omit if git is v2.43 or olderTakashi Kokubun
2025-12-17test_commit_email.rb: Ensure #teardown doesn't failTakashi Kokubun
if test is omitted. Follow up c4e090def134f9b109991b74c027648564963763
2025-12-18Update bundled bigdecimal and rbs (#15611)tomoya ishida
* Bundle rbs-3.10.0.pre.1 * Update rbs gem entry with commit hash Updated rbs entry to include commit hash. * Fix rbs entry in bundled_gems * Update rbs gem to version 3.10.0.pre.2 Updated rbs gem version from 3.10.0.pre.1 to 3.10.0.pre.2. * Update bundled bigdecimal to v4.0.1 --------- Co-authored-by: Soutaro Matsumoto <matsumoto@soutaro.com>
2025-12-17Bundle RubyGems 4.0.2 and Bundler 4.0.2Hiroshi SHIBATA
2025-12-15ZJIT: Add iongraph-generating Ruby script (#15466)Max Bernstein
Run like so: $ ../tool/zjit_iongraph.rb ../build-dev/miniruby --zjit-call-threshold=2 tmp/ghbug.rb false false tmp/ghbug.rb:3:in 'Object#doit': this shouldnt ever be nil (RuntimeError) from tmp/ghbug.rb:10:in '<main>' W, [2025-12-09T11:00:32.070382 #67400] WARN -- : Command failed with exit status 1 zjit_iongraph_67405.html $ Then open zjit_iongraph_67405.html with your browser.
2025-12-14[Feature #20925] Skip infinite loop testNobuyoshi Nakada
2025-12-11release.yml: Fix tag conversion for Ruby 4.0Takashi Kokubun
and PREVIOUS_RELEASE_TAG for any .0 releases
2025-12-11tool/format-release: Fix a wrong method referenceTakashi Kokubun
2025-12-11tool/format-release: Carve out the version format logicTakashi Kokubun
to share it with tool/releng/update-www-meta.rb and another place I'm going to modify next.
2025-12-11make-snapshot: Fix Psych::DisallowedClass with newer psychTakashi Kokubun
``` $ tool/format-release ../www.ruby-lang.org 4.0.0-preview2 . /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/class_loader.rb:99:in 'Psych::ClassLoader::Restricted#find': Tried to load unspecified class: Date (Psych::DisallowedClass) from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/class_loader.rb:28:in 'Psych::ClassLoader#load' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/class_loader.rb:40:in 'Psych::ClassLoader#date' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/scalar_scanner.rb:65:in 'Psych::ScalarScanner#tokenize' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:65:in 'Psych::Visitors::ToRuby#deserialize' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:129:in 'Psych::Visitors::ToRuby#visit_Psych_Nodes_Scalar' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/visitor.rb:30:in 'Psych::Visitors::Visitor#visit' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/visitor.rb:6:in 'Psych::Visitors::Visitor#accept' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:35:in 'Psych::Visitors::ToRuby#accept' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:346:in 'block in Psych::Visitors::ToRuby#revive_hash' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:344:in 'Array#each' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:344:in 'Enumerable#each_slice' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:344:in 'Psych::Visitors::ToRuby#revive_hash' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:168:in 'Psych::Visitors::ToRuby#visit_Psych_Nodes_Mapping' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/visitor.rb:30:in 'Psych::Visitors::Visitor#visit' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/visitor.rb:6:in 'Psych::Visitors::Visitor#accept' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:35:in 'Psych::Visitors::ToRuby#accept' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:339:in 'block in Psych::Visitors::ToRuby#register_empty' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:339:in 'Array#each' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:339:in 'Psych::Visitors::ToRuby#register_empty' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:147:in 'Psych::Visitors::ToRuby#visit_Psych_Nodes_Sequence' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/visitor.rb:30:in 'Psych::Visitors::Visitor#visit' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/visitor.rb:6:in 'Psych::Visitors::Visitor#accept' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:35:in 'Psych::Visitors::ToRuby#accept' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:319:in 'Psych::Visitors::ToRuby#visit_Psych_Nodes_Document' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/visitor.rb:30:in 'Psych::Visitors::Visitor#visit' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/visitor.rb:6:in 'Psych::Visitors::Visitor#accept' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:35:in 'Psych::Visitors::ToRuby#accept' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych.rb:336:in 'Psych.safe_load' from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych.rb:371:in 'Psych.load' from tool/format-release:80:in 'Tarball.parse' from tool/format-release:269:in 'Object#main' from tool/format-release:272:in '<main>' ```
2025-12-11make-snapshot: Update the tag format for Ruby 4.0+ (#15514)Takashi Kokubun
2025-12-11make-snapshot: Remove an unnecessary variableTakashi Kokubun
This is a refactoring change, which should have no impact on behaviors. Now, if patchlevel is true, tag is empty. So `if patchlevel` always does nothing. Given that prerelease is false and tag is not nil, removing `if patchlevel` should have no impact.
2025-12-11make-snapshot: Branch if it's X.Y.Z or X.Y using whenTakashi Kokubun
It just seems like a completely different input, so it makes more sense to me to have it as a separate case. Also, we don't need to support Ruby 2.0 or older.
2025-12-11make-snapshot: Make preview/rc match stricterTakashi Kokubun
to make it a bit more consistent with the other branch
2025-12-11make-snapshot: Drop X.Y.Z-pN supportTakashi Kokubun
We no longer make patchlevel releases.
2025-12-11update-www-meta.rb: Update the tag format for Ruby 4.0+Takashi Kokubun
Just copied format-release fixes in a973526c050fec044ffd7ceeba0ac8e8a1fed299 to this file.
2025-12-11tool/merger.rb: Support the new format in remove_tagTakashi Kokubun
2025-12-11tool/format-release: Fix the tag format for Ruby 4.0+Takashi Kokubun
2025-12-11tool/merger.rb: Update the tag format for Ruby 4.0+Takashi Kokubun
2025-12-11Stop bumping RUBY_PATCHLEVEL in release versions (#15502)Takashi Kokubun
[[Misc #21770]](https://bugs.ruby-lang.org/issues/21770)
2025-12-11Append found lib/<file> entries to spec.files to support out-of-place buildsHiroshi SHIBATA
2025-12-10We don't need to check the latest release of pathnameHiroshi SHIBATA
Pathname is now embedded class of Ruby
2025-12-09[ruby/rubygems] Bump Bundler version to 4.0.1Hiroshi SHIBATA
(cherry picked from commit https://github.com/ruby/rubygems/commit/26c1db5a65a8) https://github.com/ruby/rubygems/commit/bbb5b767d0
2025-12-07Sync doc/stringio in sync_default_gems.rbPeter Zhu
2025-12-07Allow to sync pathname manuallyNobuyoshi Nakada
Still development of the gem continues, sync as possible manually.
2025-12-07Suppress noisy outputsNobuyoshi Nakada
Fix up ruby/ruby#14700.
2025-12-06Sync doc/stringio in sync_default_gems.rbPeter Zhu
2025-12-05tool/update-deps: Skip ZJIT and YJIT+ZJIT build objectsAlan Wu
2025-12-04[ruby/rubygems] Increase connection pool to allow for up to 70% speed increase:Edouard CHIN
- ### TL;DR Bundler is heavily limited by the connection pool which manages a single connection. By increasing the number of connection, we can drastiscally speed up the installation process when many gems need to be downloaded and installed. ### Benchmark There are various factors that are hard to control such as compilation time and network speed but after dozens of tests I can consistently get aroud 70% speed increase when downloading and installing 472 gems, most having no native extensions (on purpose). ``` # Before bundle install 28.60s user 12.70s system 179% cpu 23.014 total # After bundle install 30.09s user 15.90s system 281% cpu 16.317 total ``` You can find on this gist how this was benchmarked and the Gemfile used https://gist.github.com/Edouard-chin/c8e39148c0cdf324dae827716fbe24a0 ### Context A while ago in #869, Aaron introduced a connection pool which greatly improved Bundler speed. It was noted in the PR description that managing one connection was already good enough and it wasn't clear whether we needed more connections. Aaron also had the intuition that we may need to increase the pool for downloading gems and he was right. > We need to study how RubyGems uses connections and make a decision > based on request usage (e.g. only use one connection for many small > requests like bundler API, and maybe many connections for > downloading gems) When bundler downloads and installs gem in parallel https://github.com/ruby/rubygems/blob/4f85e02fdd89ee28852722dfed42a13c9f5c9193/bundler/lib/bundler/installer/parallel_installer.rb#L128 most threads have to wait for the only connection in the pool to be available which is not efficient. ### Solution This commit modifies the pool size for the fetcher that Bundler uses. RubyGems fetcher will continue to use a single connection. The bundler fetcher is used in 2 places. 1. When downloading gems https://github.com/ruby/rubygems/blob/4f85e02fdd89ee28852722dfed42a13c9f5c9193/bundler/lib/bundler/source/rubygems.rb#L481-L484 2. When grabing the index (not the compact index) using the `bundle install --full-index` flag. https://github.com/ruby/rubygems/blob/4f85e02fdd89ee28852722dfed42a13c9f5c9193/bundler/lib/bundler/fetcher/index.rb#L9 Having more connections in 2) is not any useful but tweaking the size based on where the fetcher is used is a bit tricky so I opted to modify it at the class level. I fiddle with the pool size and found that 5 seems to be the sweet spot at least for my environment. https://github.com/ruby/rubygems/commit/6063fd9963
2025-12-03[ruby/rubygems] Bump Bundler version to 4.0.0Hiroshi SHIBATA
https://github.com/ruby/rubygems/commit/a55c485226
2025-11-27Store snapshot info date as Date instead of StringTommaso Barbato
2025-11-26[ruby/rubygems] Bump up to 4.0.0.beta2Hiroshi SHIBATA
https://github.com/ruby/rubygems/commit/b8529f48bf
2025-11-20[ruby/rubygems] Bump up to 4.0.0.beta1Hiroshi SHIBATA
https://github.com/ruby/rubygems/commit/9be811c01a
2025-11-20Omit a test on s390x linux tripping over a git bugAlan Wu
This test has been reliably failing on recent trunk versions. See: <https://github.com/ruby/ruby/actions/runs/19519712433/job/55880266450#step:14:120>
2025-11-19Revert "[Bug #21697] Keep revision.h outside VCS"Nobuyoshi Nakada
This reverts commit 8986115e0a2a989f2b2ea5945f02c7a13989d640. `RELEASE_DATE` including `YEAR`, `MONTH`, `DAY` are mandatory, while `REVISION` is not.
2025-11-19[Bug #21697] Keep revision.h outside VCSNobuyoshi Nakada
2025-11-18Fixed conflict of vendor_gems.rbHiroshi SHIBATA
2025-11-18Downgrade net-http 0.7.0 because JRuby is not workingHiroshi SHIBATA
2025-11-18Use released version of net-http-0.8.0Hiroshi SHIBATA