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

1727 Коммитов

Автор SHA1 Сообщение Дата
Nobuyoshi Nakada 7fe7dec7e5
make-snapshot: Do not save extra file attributes
Extra file attributes (uid/gid and atime) make the packaged zip
file unstable.
2019-09-22 22:18:14 +09:00
Yusuke Endoh 5f35b8ca30
st.c: Use rb_st_* prefix instead of st_* (#2479)
The original st.c was public domain hash table implementation, but
Ruby's st.c is highly modified, and its data structure is not
compatiblie with the original one.

Therefore, when creating an extension library to wrap C code that uses
the original st.c, the symbols conflict, which leads to segfault.

This changes the prefix `st_*` of st.c functions to `rb_st_*` for
reflecting that they are specific to Ruby's, and avoid symbol conflicts.
2019-09-22 22:12:18 +09:00
Fangrui Song e006b992c2 typedef rb_jmpbuf_t to void *[5] if __builtin_setjmp is used
The built-in version operates on a buffer of 5 words, much smaller than
the size of jmp_buf defined in libc.
Note, powerpc requires 5 words, while arm and x86_64 just require 3.
2019-09-21 13:24:58 +09:00
Hiroshi SHIBATA 1de242de0f
Fixed up 37c0839425 2019-09-20 14:22:32 +09:00
Hiroshi SHIBATA 9d25c652a9
Removed ThreadsWait from the ruby repository 2019-09-20 14:21:04 +09:00
Hiroshi SHIBATA 37c0839425
Removed Synchronizer from the ruby repository. 2019-09-20 14:06:22 +09:00
Hiroshi SHIBATA 3b56a0934f
Removed Shell from the ruby repository. 2019-09-20 12:56:18 +09:00
Hiroshi SHIBATA 67a6662032
Removed Scanf from the ruby repository. 2019-09-20 12:43:11 +09:00
Hiroshi SHIBATA a3b8501614
Removed CMath from the ruby repository. 2019-09-20 12:31:37 +09:00
Nobuyoshi Nakada 6cad064424
Try to fetch commits notes to the source tree automatically
[Bug #16167]
2019-09-15 16:23:33 +09:00
Nobuyoshi Nakada 585b15d75d
make-snapshot: no merge commits in ChangeLog
Parents commit hashs in logs of merge commits are abbreviated to
necessary length depending on the repositories.  Exclude merge
commits from ChangeLog to make it stable.
2019-09-15 11:22:32 +09:00
Nobuyoshi Nakada df4a4bd88c
make-snapshot: export ChangeLog from srcdir 2019-09-15 11:22:32 +09:00
Nobuyoshi Nakada 1ad4be13cb
make-snapshot: deprecated -exported option [Bug #16167] 2019-09-15 02:07:00 +09:00
Nobuyoshi Nakada e9c7fc7ca9
Continue to export even if no notes/commits
Just exporting may not imply exporting ChangeLog which needs
notes/commits.  [Bug #16167]
2019-09-14 23:50:45 +09:00
Nobuyoshi Nakada 3ef76ce44a
make-snapshot: -git option is no longer provided [ci skip] 2019-09-08 21:22:37 +09:00
Nobuyoshi Nakada 2d017d6126
make-snapshot: default to the toplevel directory
As this tool has been intended to use in a working directory,
assume that the toplevel directory is under the VCS, and SVN will
no longer be canonical.
2019-09-08 00:48:18 +09:00
Nobuyoshi Nakada f3bae2c6cf
Touch copied cache files to make tarballs stable 2019-09-08 00:22:25 +09:00
Nobuyoshi Nakada 5a6954ba74
Suppress detached head warning 2019-09-08 00:22:24 +09:00
Nobuyoshi Nakada 5511213487
Exit gently if no VCS found but --suppress_not_found is given 2019-09-07 17:26:28 +09:00
Nobuyoshi Nakada 5b5c9b6101
Removed no longer used variable 2019-09-07 17:26:28 +09:00
Nobuyoshi Nakada 8b290448e3
Assign to vcs in new_vcs block not to use rescue result 2019-09-07 11:56:23 +09:00
Nobuyoshi Nakada 59e29389a8
Fixed wrong method at 71f7b0421a 2019-09-07 11:47:45 +09:00
Nobuyoshi Nakada 3fafc549ba
Fix error when checking file modified with git-svn 2019-09-07 11:38:39 +09:00
Nobuyoshi Nakada d783609ac3
Get rid of overwriting revision.h and creating .revision.time 2019-09-07 11:38:39 +09:00
Nobuyoshi Nakada 5118aa2d58
Use `git describe --contains` for tags 2019-09-07 11:38:38 +09:00
Nobuyoshi Nakada 3890c9eeee
Added more debug outputs from VCS::GIT 2019-09-07 11:38:38 +09:00
Nobuyoshi Nakada 71f7b0421a
Refined file2lastrev.rb options
* check --srcdir if given twice or more
* falls back to the current working directory if no --srcdir
  option is given.
* define common VCS options.
2019-09-07 11:38:38 +09:00
Nobuyoshi Nakada 799de9122e
Separated VCS.define_options for common VCS options 2019-09-07 11:38:38 +09:00
Nobuyoshi Nakada 055b441093
VCS::GIT no longer accepts remote repository 2019-09-06 22:15:36 +09:00
卜部昌平 a569bc09e2 add include/ruby/backward/cxxanyargs.hpp
Compilation of extension libraries written in C++ are reportedly
broken due to https://github.com/ruby/ruby/pull/2404

The root cause of this issue was that the definition of ANYARGS
differ between C and C++, and that of C++ is incompatible with the
updated ones.

We are using the incompatibility against itself.  In C++ two distinct
function prototypes can be overloaded.  We provide the old, ANYARGSed
prototypes in addition to the current granular ones; and let the
older ones warn about types.
2019-09-06 15:50:58 +09:00
Yusuke Endoh 41b7c335d3 Revert "Add a temporal stack dumper for debugging on trunk-mjit"
This reverts commit 433c9c00d9.

Successfully captured some traces, and
3b60e5e6bc seems to fix the issue.
2019-09-06 13:04:36 +09:00
Yusuke Endoh 433c9c00d9 Add a temporal stack dumper for debugging on trunk-mjit
This must be definitely removed after we collect the stack traces :-)
http://ci.rvm.jp/results/trunk-mjit@silicon-docker/2245710
2019-09-05 22:16:21 +09:00
Nobuyoshi Nakada 8a608f1b1f
Removed -git option of make-snapshot
Git is not for direct access to a remote repository.
Most of its operations need a local clone.
2019-09-05 14:39:53 +09:00
Nobuyoshi Nakada 9f59d30daa
Separate VCS::DEBUG_OUT 2019-09-05 00:33:49 +09:00
Kazuhiro NISHIYAMA 967ef0d4f6
Use `git pull` instead of `git fetch` if master branch 2019-09-04 12:46:26 +09:00
Takashi Kokubun c14b67b2a8
Check frozen flag on MJIT setinstancevariable
It does not seem to have a significant performance impact, hopefully?

```
$ benchmark-driver -v benchmark.yml --rbenv 'before --jit;after --jit' --repeat-count=24 --output=all
before --jit: ruby 2.7.0dev (2019-09-03T21:02:24Z master 77596fb7a9) +JIT [x86_64-linux]
after --jit: ruby 2.7.0dev (2019-09-04T01:54:44Z master 7363e22d79) +JIT [x86_64-linux]
Calculating -------------------------------------
                                 before --jit           after --jit
Optcarrot Lan_Master.nes    48.44054595799523     71.67010255902900 fps
                            71.32797692837639     71.97846863769546
                            72.51921961607691     78.87360980544105
                            73.54082925611047     79.80408132389941
                            74.03503843709451     79.85739528572826
                            74.04863857926493     79.89850834901381
                            75.30266276129467     80.34607233076015
                            75.69063990896244     80.88474397425360
                            75.70458132587405     81.09234267781642
                            77.39842764662852     82.13766823612643
                            77.76922944068329     82.20398304840373
                            81.17984044023393     82.26722630628272
                            82.85235776076533     82.71375902781254
                            83.04906099135320     82.75893420702198
                            83.10214168136230     82.79668965325972
                            83.71456007558125     82.85131667916379
                            84.06658306760725     82.95676565411722
                            84.25690684305728     83.19972846225775
                            84.27938663923503     83.28510503845854
                            84.45467716218090     83.41003730434703
                            84.51563186125925     83.67773614721280
                            84.56139892968321     84.02082201151110
                            84.69819452180658     84.10495346787033
                            84.78125989622576     84.47867803506055
```

Note for backporter:
test_jit's `success_count` would be 1 in Ruby 2.6, since 2.7 introduced
"MJIT recompile" on JIT-ed code cancel.

[Bug #16139]
2019-09-04 11:10:21 +09:00
Takashi Kokubun 1a9cc3b27c Avoid defining unused instructions 2019-09-03 14:22:44 +09:00
Nobuyoshi Nakada e6c4ea22d6
Touch tar file itself to make gz file hash stable 2019-09-03 12:28:00 +09:00
Nobuyoshi Nakada b0a7221dcf
Touch the toplevel directory too 2019-09-03 11:58:02 +09:00
Nobuyoshi Nakada 542a1ade80
--date=iso-local does not work with old git 2019-09-03 11:33:29 +09:00
Nobuyoshi Nakada 703f0cd3d0
Do not keep tar file by the default 2019-09-03 11:30:40 +09:00
Nobuyoshi Nakada c181ecc161
Align timestamps to make tarball stable 2019-09-03 11:14:07 +09:00
Nobuyoshi Nakada d83ade1db5
Use -z option for git-log 2019-09-03 00:33:02 +09:00
Nobuyoshi Nakada 6a9c5ef186
Extract git commit log as raw format like git-svn for ChangeLog 2019-09-02 23:28:21 +09:00
Nobuyoshi Nakada 1f636e74e6
Set mtime of checked out files to past time
instead of waiting 2 seconds, if possible.
2019-09-02 12:16:21 +09:00
Nobuyoshi Nakada f82cf05626
Fixed the directory to be removed 2019-09-02 00:42:23 +09:00
Nobuyoshi Nakada bd785ca077
Restore pwd for each version 2019-09-01 23:24:05 +09:00
Nobuyoshi Nakada fd4aad6d41
Support packaging different branch/tag 2019-09-01 23:22:50 +09:00
Nobuyoshi Nakada d8260bc872
Fetch commit notes 2019-09-01 23:22:49 +09:00
Nobuyoshi Nakada b578c63f83
Resolve symlinks to cache directory under gems 2019-09-01 23:22:49 +09:00
Nobuyoshi Nakada ff7c95dfd9
Support git tags 2019-09-01 23:22:49 +09:00
Nobuyoshi Nakada d7aa1260b6
Remove files/directories for git/github which are committed [ci skip] 2019-08-31 14:45:57 +09:00
Yusuke Endoh 8cb9efbbe6 tool/rbinstall.rb: remove a keyword-argument warning 2019-08-31 07:17:46 +09:00
Nobuyoshi Nakada 96b32aad93
Exclude ripper y.output from packages [ci skip] 2019-08-30 11:26:48 +09:00
Nobuyoshi Nakada 98ccdd744a
Export the last modified revision for tags [ci skip] 2019-08-30 11:23:21 +09:00
Nobuyoshi Nakada e593d5b31a
Suppress uninitialized instance variable warnings [ci skip] 2019-08-30 11:23:21 +09:00
Nobuyoshi Nakada 55f496c89b
Support revision in git-svn log 2019-08-30 11:23:21 +09:00
Nobuyoshi Nakada 1191049436
Updated comment of VCS#get_revisions [ci skip] 2019-08-30 11:23:21 +09:00
Kazuhiro NISHIYAMA a8b310e14c
7z does not accept gzip's options
e.g. `GZIP=-9`
2019-08-30 00:35:37 +09:00
aycabta 2c1e902cba Don't pick up lib/readline.rb from ruby/reline 2019-08-29 21:49:19 +09:00
Nobuyoshi Nakada c1d0b6adfc
Revert "Treat RUBY_REVISION as an integer on old rubies"
This reverts commit 6454808c52.

It is no longer needed, as `VCS::SVN#get_revisions` now returns
`Integer` as revision numbers, and `short_revision` should deal
with it.
2019-08-28 16:51:49 +09:00
NAKAMURA Usaku 2b55df7315
`revision` might be an Integer 2019-08-28 15:57:30 +09:00
nagachika ed8d2e1cfd tool/merger.rb: fix tag existence check with subversion. 2019-08-28 14:50:21 +09:00
Nobuyoshi Nakada c9dc569a94
Ensure the last and changed revisions as Integers 2019-08-28 12:32:43 +09:00
NAKAMURA Usaku 6454808c52
Treat RUBY_REVISION as an integer on old rubies 2019-08-28 00:19:25 +09:00
Nobuyoshi Nakada 2cd68a38d9
Short revision of SVN should be an Integer 2019-08-27 23:43:41 +09:00
aycabta 978ff1ff3a Pick lib/readline.rb from ruby/reline 2019-08-27 05:24:13 +09:00
Nobuyoshi Nakada 48f1a38f23
Limit ChangeLog entries
Since the previous release date, when the starting message is not
found.
2019-08-26 18:27:17 +09:00
Nobuyoshi Nakada c775ab5e28
`local_path?` is a class method [ci skip] 2019-08-25 18:27:57 +09:00
Yusuke Endoh cc6fe15241 tool/lib/vcs.rb: explicitly fail when notes/commits is not available 2019-08-25 16:59:45 +09:00
Kazuhiro NISHIYAMA 1b03d2d76b
Revert workaround 2019-08-25 13:58:30 +09:00
Nobuyoshi Nakada b341e98b04
Simplified f13a00f5b4 [ci skip] 2019-08-25 11:38:15 +09:00
Nobuyoshi Nakada f13a00f5b4
Export all commits as ChangeLog when no starting commit is found [ci skip] 2019-08-25 11:24:53 +09:00
Kazuhiro NISHIYAMA 03ee12a3b8
Add workaround (2nd try)
https://rubyci.org/logs/rubyci.s3.amazonaws.com/gentoo/ruby-master/log/20190824T153002Z.fail.html.gz
```
/home/gentoo/chkbuild/tmp/build/20190824T153002Z/ruby/tool/lib/vcs.rb:577:in `export_changelog': cannot find the beginning revision of the branch (RuntimeError)
    from ./tool/make-snapshot:353:in `block in package'
    from ./tool/make-snapshot:351:in `chdir'
    from ./tool/make-snapshot:351:in `package'
    from ./tool/make-snapshot:523:in `block in <main>'
    from ./tool/make-snapshot:523:in `collect'
    from ./tool/make-snapshot:523:in `<main>'
```
2019-08-25 00:50:34 +09:00
Kazuhiro NISHIYAMA df348310dc
Add workaround for some CIs
https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian8/ruby-master/log/20190824T093005Z.fail.html.gz
```
branches:
* trunk
  remotes/origin/trunk
```
and
```
fatal: Remote branch master not found in upstream origin
```
2019-08-24 23:17:12 +09:00
Kazuhiro NISHIYAMA 97ad7862d5
Add debug print
matser branch not found on some CIs
https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian9/ruby-master/log/20190824T063005Z.fail.html.gz
```
fatal: Remote branch master not found in upstream origin
```
2019-08-24 16:22:37 +09:00
Kazuhiro NISHIYAMA fe83ed47e7
Try to fix `make dist` error on chkbuild
https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian9/ruby-master/log/20190823T213004Z.fail.html.gz
https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian8/ruby-master/log/20190824T003006Z.fail.html.gz
2019-08-24 10:20:44 +09:00
David Rodríguez 3b55394b07 Ensure all default gems have an gem folder
Even if they don't ship with any executables. This makes rbinstall
behaviour consistent with rubygems `gem install --default` command.
2019-08-23 18:20:46 +10:00
Nobuyoshi Nakada af12172035
Removed unused literal assignments [ci skip] 2019-08-20 19:29:43 +09:00
Nobuyoshi Nakada 7a07c54bef
Subjects may contain a comma [ci skip] 2019-08-20 19:29:35 +09:00
David Rodríguez 5a384e2c08 Fix some bundler specs (#2380)
* These seem to consistenly pass already

* Show actual command when running `make test-bundler`

Current the setup command that installs the necessary gems for testing
bundler was printed, but not the actual command that runs the tests.
That was a bit confusing.

* Borrow trick from setproctitle specs

* A title that long doesn't get set sometimes

No idea why, but the test doesn't need that the title is that long.

* Fix most gem helper spec ruby-core failures

* Fix the rest of the gem helper failures

* Fix version spec by improving the assertion

* Remove unnecessary `BUNDLE_RUBY` environment var

We can use `RUBY` when necessary, and `BUNDLE_RUBY` is not a good name
because bundler considers `BUNDLE_*` variables as settings.

* Rename `BUNDLE_GEM` to `GEM_COMMAND`

This is more descriptive I think, and also friendlier for bundler
because `BUNDLE_` env variables are interpreted by bundler as settings,
and this is not a bundler setting.

This fixes one bundler spec failure in config specs against ruby-core.

* Fix quality spec when run in core

Use the proper path helper.

* Fix dummy lib builder to never load default gems

If a dummy library is named as a default gem, when requiring the library
from its executable, the default gem would be loaded when running from
core, because in core all default gems share path with bundler, and thus
they are always in the $LOAD_PATH. We fix the issue by loading lib
relatively inside dummy lib executables.

* More exact assertions

Sometimes I have the problem that I do some "print debugging" inside
specs, and suddently the spec passes. This happens when the assertion is
too relaxed, and the things I print make it match, specially when they
are simple strings like "1.0" than can be easily be part of gem paths
that I print for debugging.

I fix this by making a more exact assertion.

* Detect the correct shebang when ENV["RUBY"] is set

* Relax assertion

So that the spec passes even if another paths containing "ext" are in
the load path. This works to fix a ruby-core issue, but it's a better
assertion in general. We just want to know that the extension path was
added.

* Use folder structure independent path helper

It should fix this spec for ruby-core.

* Fix the last failing spec on ruby-core

* Skip `bundle open <default_gem>` spec when no default gems
2019-08-20 09:46:31 +09:00
NAKAMURA Usaku 4515bcc922
Omit version.h when merging 2019-08-19 15:37:28 +09:00
Hiroshi SHIBATA 51edcbad5b
Use master branch instead of trunk. 2019-08-18 18:08:59 +09:00
Hiroshi SHIBATA 9132153930
Ignore tags on default gems from ruby core repository. 2019-08-18 18:08:59 +09:00
Hiroshi SHIBATA 3ecb5125c6
Gem::ConfigMap is deprecated now 2019-08-18 13:25:31 +09:00
aycabta 0bbbe82986 Fix copy path of ruby/reline's test 2019-08-18 07:52:49 +09:00
SHIBATA Hiroshi 216d230080
Move some assertions to CoreAssertions. (#2354)
They are used by default gems like forwardable.

    * assert_raise_with_message
    * assert_warning
    * assert_warn
2019-08-14 07:44:26 +09:00
Nobuyoshi Nakada 75d9fa8b07
Detect VCS from the current directory by default [ci skip] 2019-08-13 12:24:55 +09:00
Nobuyoshi Nakada 0d1af9f942
Push commits notes too [ci skip] 2019-08-13 12:24:40 +09:00
Nobuyoshi Nakada 066a3498c6
Include commits notes in ChangeLog 2019-08-12 19:02:55 +09:00
Takashi Kokubun b1ef14176b
We did not have tool/ before checkout
anyway we don't need authorization here.
Also retry does not seem to work in the original version, so let's
extend this with retries as a separate github action later.
2019-08-12 14:37:26 +09:00
Takashi Kokubun 4f10a61eaa
Stop relying on actions/checkout
because it randomly fails on authorization like:
https://github.com/ruby/ruby/runs/190887455
Also the backoff seems too short. Maybe we need tool/travis_retry.sh for
this too.

Cloning ruby/ruby does not need authorization. We don't need to use
actions/checkout.
2019-08-12 14:30:43 +09:00
Kazuhiro NISHIYAMA f731cc0984
Use `end_with?` instead of Regexp with missing escape 2019-08-11 10:15:05 +09:00
Koichi Sasada 3cbd56d574 complement `test_` prefix.
`make test-all TESTS=name` can specify running test files by name.
name can be dirname ('dir/') or a file ('.../test_foo.rb'). This
patch complement `test_` prefix for a test. So we only need to
specify `TESTS=ruby/hash` which means `TESTS=ruby/test_hash.rb`.
2019-08-09 16:08:15 +09:00
Hiroshi SHIBATA b39efb163d
Aliases capture_output to capture_io for test-unit compatiblity. 2019-08-08 17:19:23 +09:00
Hiroshi SHIBATA f5481e35ab
Added separator for failing commits from default gems. 2019-08-07 22:30:10 +09:00
Hiroshi SHIBATA 67cde179c5
Skip merge commit created by bundlerbot. 2019-08-07 22:29:02 +09:00
Takashi Kokubun 330e3f19c3
Refactor .travis.yml by introducing travis_retry.sh
Not using official travis_retry.bash, because it's not supporting to
modify backoff seconds.
0ad8f1886b/lib/travis/build/bash/travis_retry.bash

Not using official `travis_apt_get_update` function because it does not
propagate exit status to be used by retries.
0ad8f1886b/lib/travis/build/bash/travis_apt_get_update.bash

Co-Authored-By: Nobuyoshi Nakada <nobu@ruby-lang.org>
2019-08-07 21:47:03 +09:00
Nobuyoshi Nakada 29092d35d3
Moved FailDesc to EnvUtil.failure_description
So EnvUtil does not depends on test/unit.
2019-08-05 10:48:49 +09:00
Marcus Stollsteimer 7614cc5b24
Fix release post output for tool/format-release
Different entries should be separated by an empty line.

Closes: https://github.com/ruby/ruby/pull/2137
2019-08-04 08:58:20 +09:00