Граф коммитов

3260 Коммитов

Автор SHA1 Сообщение Дата
Hiroshi SHIBATA 4608ef8d7b -l option of 7z is unknown switch with the `ubuntu-latest`.
https://github.com/ruby/actions/actions/runs/11095032727/job/30823174026#step:3:349
2024-09-30 09:16:44 -07:00
Hiroshi SHIBATA 77fb1bf434 Merge RubyGems-3.5.20 and Bundler-2.5.20 2024-09-25 10:56:17 -07:00
Hiroshi SHIBATA 3894841182 Merge RubyGems-3.5.19 and Bundler-2.5.19 2024-09-25 10:56:17 -07:00
Takashi Kokubun c69d59e9b2 Sync tool/lib/core_assertions.rb from master
It seems necessary to pass test-bundled-gems with REXML.
2024-09-02 03:25:23 -07:00
Hiroshi SHIBATA 9ae91eb2aa
Backport warning feature for bundled gems from master (#11420)
* Make sure to always use the right `warn`

* lib/bundled_gems.rb: more reliable caller detection

The `2` skipped frames went out of sync and now it should be `3`.

Rather than just update the offset, we can implement a way that
is adaptative as long as all require decorators are also called require.

Also we should compute the corresponding `uplevel` otherwise the
warning will still point decorators.

Co-authored-by: "Hiroshi SHIBATA" <hsbt@ruby-lang.org>

* Warn ostruct for Ruby 3.5

* Warn pstore for Ruby 3.5

* Mark rdoc as bundled gems at Ruby 3.5

* Warn to use win32ole without Gemfile for Ruby 3.5

* EXACT list is mostly same as SINCE list on bundled gems.

* Mark to warn fiddle as bundled gems for Ruby 3.5

* Mark to warn logger as bundled gems for Ruby 3.5

* We should use uplevel:2 in another case.

Like the following scenario with bootsnap, that frames are same or smaller than frame_to_skip(=3).

---
"/Users/hsbt/.local/share/rbenv/versions/3.3-dev/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in replace_require'"
"/Users/hsbt/.local/share/gem/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'"
"test_warn_bootsnap.rb:11:in `<main>'"
---

* Delete unnecessary rubocop disable comment

* Show correct script name with sub-feature case

* Skip to show script name with using ruby -r option

* Don't show script name when bundle exec and call ruby script directly.

* Pick word fix from 34adc07372

---------

Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
Co-authored-by: Kentaro Takeyama <75117116+obregonia1@users.noreply.github.com>
2024-08-21 09:40:11 -07:00
Nobuyoshi Nakada 6d744837ab [Bug #20088] Fix ARCH_FLAG for cross compiling 2024-07-28 19:55:48 -07:00
Hiroshi SHIBATA 01762837b7
[Bug #20581][3.3] Fix unintentional truncation for dependencies of bundled gems (#11006)
* Try to load original gemspec from `.bundle/gems/foo-x.y.z/foo.gemspec`.

`.bundle/specification/foo-x.y.z.gemspec` may be changed our toolchain

* Try to find gemspec from `.bundle/specifications

* Adjust indent
2024-06-20 10:57:19 -07:00
Takashi Kokubun d1869cfb85 redmine-backporter.rb: Prepend commit: to shorter revs
Some of the places in Redmine (e.g. Associated revisions) print
revisions using only 8 characters. Even when I copied a revision from
there, I want to prepend commit: in the message.
2024-06-11 11:29:27 -07:00
Hiroshi SHIBATA 06f470ce66
Merge RubyGems 3.5.11 and Bundler 2.5.11 for Ruby 3.3 (#10870)
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2024-06-04 21:36:46 -07:00
Takashi Kokubun 0a0338b06f merge revision(s) 9f708d48f6, 0301473fb5, 874e9fc34d, 7f0e26b7f99bf76408569892ce20318501f74729: [Backport #20516]
Clear runtime dependencies if default gems is specified.

	The current build system uses runtime dependencies from only
	`.bundle` directory. We shouldn't install runtime dependencies
	from rubygems.org when `make test-bundled-gems` is invoked.

	Fixed dependencies list format

	Don't need to remove ruby2_keywords dependency from drb

	Re-use strscan with ruby repo
2024-06-04 11:43:25 -07:00
Takashi Kokubun 12c806acc3 merger.rb: Put spaces in between revisions
so that they are linked correctly on GitHub
2024-06-04 11:32:28 -07:00
Takashi Kokubun 74ba1914dd merge revision(s) 22e4eeda6561693367fc7a00b92b90f46b09cabd,1ab7c412d2e3880a7ad233c32e93961888f8145c: [Backport #20515]
ci: Test whether GMP is working in compilers.yml (#10875)

	Avoid reoccurence of [Bug #20515]

	Requires https://github.com/ruby/ruby/pull/10876 since 18eaf0be90

	bug: https://bugs.ruby-lang.org/issues/20515

	RUBY_CHECK_HEADER didn't define HAVE_{header-file} (#10876)

	--with-gmp is not working at all because HAVE_GMP_H
	was missing since 18eaf0be90. [Bug #20515]

	bug: https://bugs.ruby-lang.org/issues/20515
	follow-up: https://bugs.ruby-lang.org/issues/20494
	follow-up: 18eaf0be90
	follow-up: https://github.com/ruby/ruby/pull/10805
2024-05-30 11:54:34 -07:00
Takashi Kokubun b3f2ccea5e merge revision(s) 18eaf0be905e3e251423b42d6f4e56b7cae1bc3b: [Backport #20494]
[Bug #20494] Search non-default directories for GMP

	Co-Authored-by: lish82 (Hiroki Katagiri)
2024-05-29 16:18:29 -07:00
Takashi Kokubun 2f4fe76eff Skip under_gc_compact_stress on s390x (#10073) 2024-05-29 11:13:02 -07:00
Takashi Kokubun bbb3075c46 Sort backport revisions by commit timestamps 2024-05-29 10:39:10 -07:00
Takashi Kokubun 015d6bae8b Skip a flaky test in RBS 2024-05-29 09:32:03 -07:00
Takashi Kokubun 0e96dd93c5 merger.rb: Don't ask "conflicts resolved?" if not needed 2024-05-28 17:46:44 -07:00
Takashi Kokubun 4d34fb54b0 redmine-backporter.rb: Prepend commit: to every revision 2024-05-28 17:17:04 -07:00
Takashi Kokubun d7ad603739 redmine-backporter.rb: Remove an unneeded space
from #backport_command_string

I don't want to leave unneeded spaces in the command history by
copy-pasting the entire line.
2024-05-28 17:01:13 -07:00
Takashi Kokubun 239a8cc7d7 merger.rb: Auto-detect tickets when --ticket is not given 2024-05-28 16:30:45 -07:00
Takashi Kokubun 90fda2da5f merger.rb: Drop an obsoleted command from help
It was needed only for SVN, and we dropped SVN support.
2024-05-28 15:54:54 -07:00
Takashi Kokubun f18ba2c6c6 merger.rb: Use commit: prefix in more places 2024-05-28 14:29:07 -07:00
Takashi Kokubun 62f450285b merger.rb: Improve the help message
It wasn't clear whether the backport command takes a commit hash or a
ticket number.
2024-05-28 14:10:26 -07:00
Takashi Kokubun c564c4a099 Sync merger.rb from master 2024-05-28 13:53:43 -07:00
Takashi Kokubun 82ff749451 Sync redmine-backporter.rb from master 2024-05-28 13:39:30 -07:00
Hiroshi SHIBATA 8dda932bcd Fix extension installer for out-of-place build
https://github.com/ruby/ruby/pull/9673#issuecomment-2019028293
2024-05-28 13:30:26 -07:00
Hiroshi SHIBATA cf460840b8 Guard makefile target at cross-build
http://rubyci.s3.amazonaws.com/crossruby/crossruby-master-aarch64/log/20240325T041917Z.fail.html.gz
2024-05-28 13:30:26 -07:00
Hiroshi SHIBATA 716473e348 Use load_gemspec instead of Gem::Specification.load.
We need to purge `git ls-files` from gemspec in default gems.
2024-05-28 13:30:26 -07:00
David Rodriguez 1849046d1f Consider extensions in gems outside of ext/ 2024-05-28 13:30:26 -07:00
David Rodriguez e60ad0b6f5 Extract `root` helper
It holds the root directory for each type of default gem (ext/ or lib/).
2024-05-28 13:30:26 -07:00
David Rodriguez 642cf3fc8a Consider `target_prefix` in extension Makefiles 2024-05-28 13:30:26 -07:00
David Rodríguez 57b56225ac Consistently put requirable features in default gemspecs file list 2024-05-28 13:30:26 -07:00
David Rodríguez 7ff330419f Fix gemspec file list for extension gems
So that it also includes requirable features provided by extensions.
2024-05-28 13:30:26 -07:00
David Rodriguez a63114323b Simplify FileCollector interface 2024-05-28 13:30:26 -07:00
David Rodriguez e43393ac0f Use `$ext_build_dir` consistently
Instead of hardcoded "ext".
2024-05-28 13:30:26 -07:00
Eugene Kenny 6edd65a080 [Bug #20450] Remove rubyarchdir from bootsnap paths 2024-05-28 13:29:22 -07:00
Hiroshi SHIBATA 718a78cdf5 Added test case for bundled gems warning with -r option.
This is for 76914d474d
2024-05-28 13:29:22 -07:00
Hiroshi SHIBATA a121e69840 Bootsnap and Zeitwerk are working correctly now 2024-05-28 13:29:22 -07:00
Hiroshi SHIBATA edebbade1b Add newline each test script 2024-05-28 13:29:22 -07:00
Hiroshi SHIBATA 178de0e953 Added test script for bundled_gems.rb with zeitwerk 2024-05-28 13:29:22 -07:00
Hiroshi SHIBATA 7227b859a7
Merge RubyGems 3.5.9 and Bundler 2.5.9 (Fixed CI at Ruby 3.3) (#10348)
* Merge RubyGems-3.5.6 and Bundler-2.5.6

* Merge RubyGems-3.5.7 and Bundler-2.5.7

* Merge RubyGems-3.5.8 and Bundler-2.5.8

* Partly reverted about https://github.com/rubygems/rubygems/pull/7483

* Merge RubyGems-3.5.9 and Bundler-2.5.9
2024-04-16 02:22:22 +00:00
Hiroshi SHIBATA ac526abcd6
Merge RubyGems 3.5.5 and Bundler 2.5.5 (#9676)
* Merge RubyGems-3.5.4 and Bundler-2.5.4

* Merge RubyGems-3.5.5 and Bundler-2.5.5

* Make tests play with upstream Ruby tests

CI broke in https://github.com/ruby/ruby/pull/9604 because if any Ruby
tests run `require 'net/http'`, they will pollute the
`$LOADED_FEATURES` for the RubyGems tests. We can fix this by renaming
the test default gem from `net-http` to `my-http`.

See https://github.com/rubygems/rubygems/pull/7379#issuecomment-1901241299
for more details.

---------

Co-authored-by: Stan Hu <stanhu@gmail.com>
2024-02-05 14:51:04 +00:00
NARUSE, Yui ce6863a0cf
merge revision(s) 18573b8d054f655e3e8b24902985bf4028f88810: [Backport #20178] (#9822)
Avoid reading unused lvars in Primitive.cexpr

	Previously on builds with optimizations disabled, this could result in
	an out of bounds read. When we had all of:
	* built with -O0
	* Leaf builtin
	* Primitive.mandatory_only
	* "no args builtin", called by vm_call_single_noarg_inline_builti
	* The stack is escaped to the heap via binding or a proc

	This is because mk_builtin_loader generated reads for all locals
	regardless of whether they were used and in the case we generated a
	mandatory_only iseq that would include more variables than were actually
	available.

	On optimized builds, the invalid accesses would be optimized away, and
	this also was often unnoticed as the invalid access would just hit
	another part of the stack unless it had been escaped to the heap.

	The fix here is imperfect, as this could have false positives, but since
	Primitive.cexpr! is only available within the cruby codebase itself
	that's probably fine as a proper fix would be much more challenging (the
	only false positives we found were in rjit.rb).

	Fixes [Bug #20178]

	Co-authored-by: Adam Hess <HParker@github.com>
	---
	 bootstraptest/test_method.rb | 9 +++++++++
	 tool/mk_builtin_loader.rb    | 6 ++++++
	 2 files changed, 15 insertions(+)
2024-02-04 04:13:15 +00:00
NARUSE, Yui f585171a6b merge revision(s) e12d4c654e3cb7a4473014610bc3bae41aaf811e: [Backport #20104]
Don't create T_MATCH object if /regexp/.match(string) doesn't match

	Fixes [Bug #20104]
	---
	 re.c                     |  9 ++++++---
	 test/ruby/test_regexp.rb | 12 ++++++++++++
	 tool/lib/envutil.rb      |  8 ++++++++
	 3 files changed, 26 insertions(+), 3 deletions(-)
2024-01-30 20:29:02 +09:00
Hiroshi SHIBATA 27ead9907d
Typofix under lib and test, tool directories 2023-12-25 11:32:42 +09:00
Takashi Kokubun c25705c267 Get rid of obsoleted RJITFirst
It was renamed from test_mjit, but we did not maintain it as test_rjit.
We test RJIT very differently.
2023-12-22 20:20:42 -08:00
Takashi Kokubun 19d082dcfa RJIT: Distinguish Pointer with Array
This is more convenient for accessing those fields.
2023-12-22 11:24:04 -08:00
Jeremy Evans 7dca6b53a9
Add tool/missing-baseruby.bat, used when BASERUBY not available
Previously, the embedded semicolon in BASERUBY if BASERUBY is
not available breaks tarball builds without BASERUBY when using
OpenBSD make, due to the inability to escape MFLAGS correctly.
This moves the same BASERUBY code into a separate file, avoiding
the MFLAGS quoting issue.

BASERUBY must be passed to build-ext because it is required
by ripper since the introduction of lrama.

Fixes [Bug #19683]

Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2023-12-19 21:30:47 -08:00
Peter Zhu 32ecda354f Support `GC.auto_compact = :empty` on debug builds
This commit adds `GC.auto_compact = :empty` which will run
auto-compaction sorting pages by empty slots so the most amount of
objects will be moved. This will make it easier to write tests for
auto-compaction.
2023-12-19 18:29:36 -05:00
Takashi Kokubun eb872d1752 RJIT: Share rb_vm_insns_count for vm_insns_count 2023-12-18 23:55:40 -08:00