Commit graph

1349 commits

Author SHA1 Message Date
Takashi Kokubun
70b4b6fea0
Do not skip CI when it mentions "document" (#14232) 2025-08-14 15:12:46 -07:00
Nobuyoshi Nakada
37e991b02c
[DOC] Use the specified revision RDoc 2025-08-12 23:33:48 +09:00
Jun Aruga
9fa87a6688 CI: ubuntu.yml: Skip user ground id test on ppc64le and s390x
This is a temporary workaround.
2025-08-12 15:24:53 +02:00
Jun Aruga
05b654b43f CI: ubuntu.yml: Set HOME env on ppc64le and s390x
This is a temporary workaround.
2025-08-12 15:24:53 +02:00
Jun Aruga
099df0b40b CI: ubuntu.yml: Add GitHub Actions s390x case
Add the s390x case using GitHub Actions ppc64le/s390x service.
https://github.com/IBM/actionspz

We can run the ppc64le/s390x cases only in the registered upstream repositories.
https://github.com/IBM/actionspz/blob/main/docs/FAQ.md#what-about-forked-repos

The following matrix upstream logic is to skip the ppc64le/s390x in the
downstream (fork) repositories.

```
+        upstream:
+          - ${{ github.repository == 'ruby/ruby' }}
```

Use the "os" list to determine the excluded ppc64le/s390x cases by using the
"exclude" syntax. Because the "exclude" syntax are executed before the
"include" syntax.

Add the ubuntu-24.04-ppc64le as a comment, because the GitHub Actions ppc64le
case has the following test errors and failures.
https://bugs.ruby-lang.org/issues/21534
2025-08-12 15:24:53 +02:00
Alan Wu
8b1afbc6ed CI: Surface Rust warnings on PRs that touch any Rust code
Rust PRs will have a failed CI step if they trigger any warnings.
This helps us stay on top of warnings from new Rust releases and
also ones we accidentally write.

Fix a typo for demo, since this only runs when Rust files are changed.
2025-08-11 20:12:25 -04:00
Alan Wu
0070c26aec ZJIT: CI: Use Rust version built into GitHub Actions image
Saves the work of installing Rust for most jobs. Keep a job on each
platform that tests 1.85.0, the minimum supported version, though.
2025-08-11 18:53:48 -04:00
Hiroshi SHIBATA
b0a4e2399b
CI: mingw: Use the official actions for msys2
Because ruby/setup-ruby is affected to test result.
2025-08-11 20:29:55 +09:00
Nobuyoshi Nakada
4adb6f6969
CI: mingw: Set up msys2 environment variables 2025-08-11 20:29:55 +09:00
Nobuyoshi Nakada
a443cd012a
CI: mingw: Set cmd as the default shell
It is used in more steps than `sh`.
2025-08-11 20:29:55 +09:00
Nobuyoshi Nakada
c1f9f0a7ef
CI: windows: Windows-2019 or earlier no longer used 2025-08-11 20:29:55 +09:00
Nobuyoshi Nakada
90f8199412
CI: mingw: Tweak misc system & package info 2025-08-11 20:29:55 +09:00
Nobuyoshi Nakada
e4b386e090
CI: Remove Strawberry Perl pkg-config 2025-08-09 01:02:34 +09:00
Nobuyoshi Nakada
0e33256c8e
CI: Use \e instead of \033 [ci skip] 2025-08-06 00:22:43 +09:00
Hiroshi SHIBATA
946165bd48 Added clang-22 build 2025-08-05 11:41:43 +09:00
Nobuyoshi Nakada
b4dfdb915d
[DOC] Show the rdoc coverage of ruby core 2025-08-04 02:22:44 +09:00
Hiroshi SHIBATA
47b8916576
Save vcpkg cache with master and stable branches 2025-07-31 10:36:23 +09:00
Nobuyoshi Nakada
a6914c089d
Fix the current parser detection
Since `RUBY_DESCRIPTION` contains the branch name, `/prism/i` can
match unexpectedly.  Extract the feature lists between revision
and platform infos.
2025-07-29 22:11:49 +09:00
Hiroshi SHIBATA
6dc37f9003 Update the latest versions of actions 2025-07-24 12:47:16 +09:00
Stan Lo
2e0a782936 ZJIT: Run zjit-check on CI for faster test_zjit.rb feedback 2025-07-23 19:52:59 -04:00
Stan Lo
d207efecec ZJIT: Remove unneeded test exclusions
After several ZJIT fix PRs, the number of failing/crashing tests for
ZJIT has dropped significantly. This removes the unneeded test exclusions.
2025-07-16 14:31:19 -07:00
Stan Lo
643ca8175c
ZJIT: run zjit-test-all on CI with seed (#13912)
ZJIT: run zjit-test-all on CI with seed

ZJIT is still unstable and can crash intermittently running with Ruby
tests. Adding a seed to avoid flakiness while we work on stability.
2025-07-16 11:16:29 -07:00
Stan Lo
5723945335
ZJIT: Start testing against /test/ruby/ and update all ZJIT related testing targets/docs (#13791)
* ZJIT: Add test exclusions for ZJIT

* ZJIT: Update test targets and documentation

- Rename `zjit-test-all` to `zjit-check`
- Add `zjit-test-all` target to zjit.mk to run all Ruby tests with ZJIT enabled
  excluding known failing tests
- Update documentation and CI workflow to reflect the new targets
2025-07-15 15:03:40 -07:00
Nobuyoshi Nakada
061d479b21 [DOC] RDoc is not in ./lib now
It is already a bundled gem, and only the non-built-in parts remain in
pathname.rb in ./lib and cannot work in old versions.
2025-07-15 20:51:16 +09:00
Hiroshi SHIBATA
d23f666da3 Split restore and save actions from action/cache. We need to save always vcpkg cache 2025-07-15 08:34:13 +09:00
Takashi Kokubun
9ab80a7455
ZJIT: Avoid optimizing locals on eval (#13840)
* ZJIT: Avoid optimizing locals on eval

* Maintain the local state for eval
2025-07-10 12:08:09 -07:00
Hiroshi SHIBATA
5aaedc052c Re-ordered vcpkg related steps. It may be affected with VsDevCmd.bat 2025-07-09 06:26:42 +09:00
Hiroshi SHIBATA
80bf0744a0 Use the latest version of Visual Studio with windows-2022 runner image 2025-07-09 06:26:42 +09:00
Hiroshi SHIBATA
5564e0a58d
Fixed wrong commit hash 2025-07-04 15:31:02 +09:00
Hiroshi SHIBATA
66aaf5b67f actions/cache is working with relative path 2025-07-04 11:33:24 +09:00
Takashi Kokubun
ed3fd94e77
ZJIT: Panic on BOP redefinition only when needed (#13782) 2025-07-03 13:09:10 -07:00
Takashi Kokubun
c584cc079e
ZJIT: Enable one more btest (#13781) 2025-07-03 09:40:43 -07:00
Takashi Kokubun
0abe17dae0
ZJIT: Bail out on register spill (#13773) 2025-07-03 09:30:45 -07:00
Takashi Kokubun
d5f5a56bf2
ZJIT: Reject ISEQs with too-large stack_max (#13770) 2025-07-02 13:01:24 -07:00
Nobuyoshi Nakada
2cb065d0a2
Update gcc for LTO to 15 2025-07-02 09:23:08 +09:00
Takashi Kokubun
2fda843479
ZJIT: Stop tracking EP == BP assumption on JIT entry (#13752)
* ZJIT: Stop tracking EP == BP assumption on JIT entry

* Enable test_method.rb as well
2025-07-01 11:59:33 -07:00
Takashi Kokubun
2287dd4af2
ZJIT: Enable bootstraptest/test_block.rb (#13751) 2025-06-30 15:22:56 -07:00
Takashi Kokubun
99360e500d
ZJIT: Enable a couple more btests (#13748) 2025-06-30 11:15:00 -07:00
Takashi Kokubun
44e4b02754
ZJIT: setglobal should not return output (#13744)
* ZJIT: setglobal should not return output

* Let the caller wrap Some
2025-06-30 09:27:31 -07:00
Hiroshi SHIBATA
cf3acead9d Use https://github.com/ruby/power_assert/pull/58 2025-06-27 11:14:50 +09:00
Takashi Kokubun
f8cd26736f
ZJIT: Stop loading an extra parameter (#13719) 2025-06-26 14:06:49 -07:00
Hiroshi SHIBATA
7d01905ef1 typeprof, rbs and repl_type_completor are working with HEAD now 2025-06-26 17:37:04 +09:00
Hiroshi SHIBATA
8f44d482a3 windows-2025 runner updated Visual Studio from broken version 2025-06-25 12:20:58 +09:00
Jeremy Evans
3a9c091cf3 Simplify Set#inspect output
As Set is now a core collection class, it should have special inspect
output.  Ideally, inspect output should be suitable to eval, similar
to array and hash (assuming the elements are also suitable to eval):

  set = Set[1, 2, 3]
  eval(set.inspect) == set # should be true

The simplest way to do this is to use the Set[] syntax.

This deliberately does not use any subclass name in the output,
similar to array and hash. It is more important that users know they
are dealing with a set than which subclass:

  Class.new(Set)[]
  # this does: Set[]
  # not: #<Class:0x00000c21c78699e0>[]

This inspect change breaks the power_assert bundled gem tests, so
add power_assert to TEST_BUNDLED_GEMS_ALLOW_FAILURES in the workflows.

Implements [Feature #21389]
2025-06-25 09:21:07 +09:00
Nobuyoshi Nakada
da10b956e0
Generate HTML documentation even if only NEWS.md is updated 2025-06-24 18:50:50 +09:00
Hiroshi SHIBATA
7addde1ece Revert to setup-ruby v1.231.0
v1.245.0 is not working with the following issue:

4446417911

```
D:/a/ruby/ruby/src/test/rubygems/mock_gem_ui.rb:83:in 'Gem::MockGemUi#terminate_interaction': Gem::MockGemUi::TermError (Gem::MockGemUi::TermError)
  	D:/a/ruby/ruby/src/lib/rubygems/user_interaction.rb:157:in 'Gem::UserInteraction#terminate_interaction'
  	D:/a/ruby/ruby/src/lib/rubygems/commands/exec_command.rb:175:in 'Gem::Commands::ExecCommand#install'
  	D:/a/ruby/ruby/src/lib/rubygems/commands/exec_command.rb:70:in 'Gem::Commands::ExecCommand#execute'
  	D:/a/ruby/ruby/src/lib/rubygems/command.rb:326:in 'Gem::Command#invoke_with_build_args'
  	D:/a/ruby/ruby/src/lib/rubygems/command.rb:304:in 'Gem::Command#invoke'
  	D:/a/ruby/ruby/src/test/rubygems/test_gem_commands_exec_command.rb:43:in 'TestGemCommandsExecCommand#invoke'
  	D:/a/ruby/ruby/src/test/rubygems/test_gem_commands_exec_command.rb:274:in 'block in TestGemCommandsExecCommand#test_gem_with_platform_and_platform_dependencies'
  	D:/a/ruby/ruby/src/lib/rubygems/user_interaction.rb:46:in 'Gem::DefaultUserInteraction.use_ui'
  	D:/a/ruby/ruby/src/lib/rubygems/user_interaction.rb:69:in 'Gem::DefaultUserInteraction#use_ui'
  	D:/a/ruby/ruby/src/test/rubygems/test_gem_commands_exec_command.rb:272:in 'TestGemCommandsExecCommand#test_gem_with_platform_and_platform_dependencies'
  	D:/a/ruby/ruby/src/tool/lib/test/unit/testcase.rb:202:in 'Test::Unit::TestCase#run_test'
  	D:/a/ruby/ruby/src/tool/lib/test/unit/testcase.rb:170:in 'Test::Unit::TestCase#run'
  	D:/a/ruby/ruby/src/tool/lib/test/unit.rb:1683:in 'block in Test::Unit::Runner#_run_suite'
  	D:/a/ruby/ruby/src/tool/lib/test/unit.rb:1670:in 'Array#map'
  	D:/a/ruby/ruby/src/tool/lib/test/unit.rb:1670:in 'Test::Unit::Runner#_run_suite'
  	D:/a/ruby/ruby/src/tool/lib/test/unit.rb:1374:in 'Test::Unit::ExcludesOption#_run_suite'
  	D:/a/ruby/ruby/src/tool/lib/test/unit/parallel.rb:52:in 'Test::Unit::Worker#_run_suite'
  	D:/a/ruby/ruby/src/tool/lib/test/unit/parallel.rb:24:in 'block in Test::Unit::Worker#_run_suites'
  	D:/a/ruby/ruby/src/tool/lib/test/unit/parallel.rb:23:in 'Array#map'
  	D:/a/ruby/ruby/src/tool/lib/test/unit/parallel.rb:23:in 'Test::Unit::Worker#_run_suites'
  	D:/a/ruby/ruby/src/tool/lib/test/unit/parallel.rb:122:in 'Test::Unit::Worker#run'
  	D:/a/ruby/ruby/src/tool/lib/test/unit/parallel.rb:220:in '<main>'
  running file: D:/a/ruby/ruby/src/test/rubygems/test_gem_commands_exec_command.rb
```
2025-06-20 17:55:48 +09:00
Hiroshi SHIBATA
092ea7a163 Update to the latest step versions at the GitHub Actions 2025-06-20 17:55:48 +09:00
Hiroshi SHIBATA
29c7f849db
Use another credential for generating new releases 2025-06-20 15:33:47 +09:00
Hiroshi SHIBATA
e23941677c
Rename token name to more descriptive 2025-06-20 12:45:54 +09:00
Hiroshi SHIBATA
1e428366ae Use windows-2025 image because that have pre-installed winget 2025-06-20 12:35:16 +09:00