<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/rubygems, branch v4.0.3</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Merge RubyGems/Bundler 4.0.5</title>
<updated>2026-02-10T01:38:24+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2026-02-10T01:07:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=87b544b8c4400ef2b37405f132846e5c3738213b'/>
<id>87b544b8c4400ef2b37405f132846e5c3738213b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a fragile test</title>
<updated>2025-12-24T13:11:58+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-12-20T12:37:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8de2622c1291afd29a9a570e6b396bbe722360a3'/>
<id>8de2622c1291afd29a9a570e6b396bbe722360a3</id>
<content type='text'>
`Dir.mktmpdir` concatenates a random base-36 number separated by "-",
so may generate pathnames containing "-j2".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`Dir.mktmpdir` concatenates a random base-36 number separated by "-",
so may generate pathnames containing "-j2".
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a fragile test</title>
<updated>2025-12-23T09:53:36+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-12-20T12:37:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=515119541095bcb84cb8d85db644d836eeeeef33'/>
<id>515119541095bcb84cb8d85db644d836eeeeef33</id>
<content type='text'>
`Dir.mktmpdir` concatenates a random base-36 number separated by "-",
so may generate pathnames containing "-j4".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`Dir.mktmpdir` concatenates a random base-36 number separated by "-",
so may generate pathnames containing "-j4".
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge RubyGems 4.0.3 and Bundler 4.0.3</title>
<updated>2025-12-23T07:10:04+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2025-12-23T04:48:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1c3ef2719155b56f14bf734c82b26ef0bbaac798'/>
<id>1c3ef2719155b56f14bf734c82b26ef0bbaac798</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a fragile test</title>
<updated>2025-12-20T12:37:45+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-12-20T12:37:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8f7c3603c1b168e4f7440216b197f11325e31fdf'/>
<id>8f7c3603c1b168e4f7440216b197f11325e31fdf</id>
<content type='text'>
`Dir.mktmpdir` concatenates a random base-36 number separated by "-",
so may generate pathnames containing "-j4".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`Dir.mktmpdir` concatenates a random base-36 number separated by "-",
so may generate pathnames containing "-j4".
</pre>
</div>
</content>
</entry>
<entry>
<title>Bundle RubyGems 4.0.2 and Bundler 4.0.2</title>
<updated>2025-12-17T03:12:34+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2025-12-17T02:29:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3b66efda523fc33070aee6097898dbc5b1af6f4b'/>
<id>3b66efda523fc33070aee6097898dbc5b1af6f4b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/rubygems] Added assertion for Windows and nmake</title>
<updated>2025-12-16T06:28:36+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2025-12-16T05:50:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5b0fefef417cad1733c18a0b66db07bcb1de5caf'/>
<id>5b0fefef417cad1733c18a0b66db07bcb1de5caf</id>
<content type='text'>
https://github.com/ruby/rubygems/commit/be5c4e27d9
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/rubygems/commit/be5c4e27d9
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/rubygems] Reset MAKEFLAGS option for build jobs tests</title>
<updated>2025-12-16T05:18:29+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2025-12-16T04:49:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e4797e93213365956a6cec142122866c8f0c9a51'/>
<id>e4797e93213365956a6cec142122866c8f0c9a51</id>
<content type='text'>
https://github.com/ruby/rubygems/commit/09e6031a11
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/rubygems/commit/09e6031a11
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/rubygems] Allow to specify the number of `make` jobs when installing gems:</title>
<updated>2025-12-16T04:21:49+00:00</updated>
<author>
<name>Edouard CHIN</name>
<email>chin.edouard@gmail.com</email>
</author>
<published>2025-12-10T13:29:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=080bf30c48a8212cf0ee4f769d1bdaa4a2df5900'/>
<id>080bf30c48a8212cf0ee4f769d1bdaa4a2df5900</id>
<content type='text'>
- Added a new `-j` option to `gem install` and `gem update`.
  This option allows to specify the number of jobs we pass to `make`
  when compiling gem with native extensions.

  By default its the number of processors, but users may want a way
  to control this.

  You can use it like so: `gem install json -j8`

https://github.com/ruby/rubygems/commit/67aad88ca6
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Added a new `-j` option to `gem install` and `gem update`.
  This option allows to specify the number of jobs we pass to `make`
  when compiling gem with native extensions.

  By default its the number of processors, but users may want a way
  to control this.

  You can use it like so: `gem install json -j8`

https://github.com/ruby/rubygems/commit/67aad88ca6
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/rubygems] Write gem files atomically</title>
<updated>2025-12-15T01:15:06+00:00</updated>
<author>
<name>eileencodes</name>
<email>eileencodes@gmail.com</email>
</author>
<published>2025-11-25T19:17:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=58940377e6f27f39d5c3baa0faa15655fa873f2c'/>
<id>58940377e6f27f39d5c3baa0faa15655fa873f2c</id>
<content type='text'>
This change updates `write_binary` to use a new class,
`AtomicFileWriter.open` to write the gem's files. This implementation
is borrowed from Active Support's [`atomic_write`](https://github.com/rails/rails/blob/main/activesupport/lib/active_support/core_ext/file/atomic.rb).

Atomic write will write the files to a temporary file and then once
created, sets permissions and renames the file. If the file is corrupted
- ie on failed download, an error occurs, or for some other reason, the
real file will not be created. The changes made here make `verify_gz`
obsolete, we don't need to verify it if we have successfully created the
file atomically. If it exists, it is not corrupt. If it is corrupt, the
file won't exist on disk.

While writing tests for this functionality I replaced the
`RemoteFetcher` stub with `FakeFetcher` except for where we really do
need to overwrite the `RemoteFetcher`. The new test implementation is much
clearer on what it's trying to accomplish versus the prior test
implementation.

https://github.com/ruby/rubygems/commit/0cd4b54291
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change updates `write_binary` to use a new class,
`AtomicFileWriter.open` to write the gem's files. This implementation
is borrowed from Active Support's [`atomic_write`](https://github.com/rails/rails/blob/main/activesupport/lib/active_support/core_ext/file/atomic.rb).

Atomic write will write the files to a temporary file and then once
created, sets permissions and renames the file. If the file is corrupted
- ie on failed download, an error occurs, or for some other reason, the
real file will not be created. The changes made here make `verify_gz`
obsolete, we don't need to verify it if we have successfully created the
file atomically. If it exists, it is not corrupt. If it is corrupt, the
file won't exist on disk.

While writing tests for this functionality I replaced the
`RemoteFetcher` stub with `FakeFetcher` except for where we really do
need to overwrite the `RemoteFetcher`. The new test implementation is much
clearer on what it's trying to accomplish versus the prior test
implementation.

https://github.com/ruby/rubygems/commit/0cd4b54291
</pre>
</div>
</content>
</entry>
</feed>
