[#98098] [Ruby master Feature#16824] Follow RubyGems naming conventions for the stdlib — shannonskipper@...

Issue #16824 has been reported by shan (Shannon Skipper).

14 messages 2020/05/01

[#98147] [Ruby master Feature#16832] Use #name rather than #inspect to build "uninitialized constant" error messages — jean.boussier@...

Issue #16832 has been reported by byroot (Jean Boussier).

20 messages 2020/05/06

[#98174] [Ruby master Bug#16837] Can we make Ruby 3.0 as fast as Ruby 2.7 with the new assertions? — takashikkbn@...

Issue #16837 has been reported by k0kubun (Takashi Kokubun).

10 messages 2020/05/07

[#98241] [Ruby master Bug#16845] Building Ruby with old existing system Ruby results in make error with ./tool/file2lastrev.rb — erik@...

Issue #16845 has been reported by ErikSwan (Erik Swan).

7 messages 2020/05/09

[#98256] [Ruby master Feature#16847] Cache instruction sequences by default — jean.boussier@...

Issue #16847 has been reported by byroot (Jean Boussier).

16 messages 2020/05/11

[#98257] [Ruby master Feature#16848] Allow callables in $LOAD_PATH — jean.boussier@...

Issue #16848 has been reported by byroot (Jean Boussier).

27 messages 2020/05/11

[#98318] [Ruby master Bug#16853] calling bla(hash, **kw) with a string-based hash passes the strings into **kw (worked < 2.7) — sylvain.joyeux@...4x.org

Issue #16853 has been reported by sylvain.joyeux (Sylvain Joyeux).

12 messages 2020/05/13

[#98355] [Ruby master Bug#16889] TracePoint.enable { ... } also activates the TracePoint for other threads, even outside the block — eregontp@...

Issue #16889 has been reported by Eregon (Benoit Daloze).

16 messages 2020/05/14

[#98363] [Ruby master Feature#16891] Restore Positional Argument to Keyword Conversion — merch-redmine@...

Issue #16891 has been reported by jeremyevans0 (Jeremy Evans).

23 messages 2020/05/14

[#98371] [Ruby master Feature#16894] Integer division for Ruby 3 — andrew@...

Issue #16894 has been reported by ankane (Andrew Kane).

18 messages 2020/05/15

[#98391] [Ruby master Bug#16896] MakeMakefile methods should be private — eregontp@...

Issue #16896 has been reported by Eregon (Benoit Daloze).

10 messages 2020/05/15

[#98396] [Ruby master Feature#16897] Can a Ruby 3.0 compatible general purpose memoizer be written in such a way that it matches Ruby 2 performance? — sam.saffron@...

Issue #16897 has been reported by sam.saffron (Sam Saffron).

25 messages 2020/05/16

[#98453] [Ruby master Bug#16904] rubygems: psych: superclass mismatch for class Mark (TypeError) — jaruga@...

Issue #16904 has been reported by jaruga (Jun Aruga).

18 messages 2020/05/20

[#98486] [Ruby master Bug#16908] Strange behaviour of Hash#shift when used with `default_proc`. — samuel@...

Issue #16908 has been reported by ioquatix (Samuel Williams).

14 messages 2020/05/23

[#98569] [Ruby master Bug#16921] s390x: ramdom test failures for timeout or segmentation fault — jaruga@...

Issue #16921 has been reported by jaruga (Jun Aruga).

9 messages 2020/05/29

[#98599] [Ruby master Bug#16926] Kernel#require does not load a feature twice when $LOAD_PATH has been modified spec fails only on 2.7 — eregontp@...

Issue #16926 has been reported by Eregon (Benoit Daloze).

12 messages 2020/05/31

[ruby-core:98394] [Ruby master Misc#16895] Request for cooperation: Try your applications/libraries with master branch and debug options

From: samuel@...
Date: 2020-05-15 23:47:55 UTC
List: ruby-core #98394
Issue #16895 has been updated by ioquatix (Samuel Williams).

Description updated

Updated from latest edits.

----------------------------------------
Misc #16895: Request for cooperation: Try your applications/libraries with master branch and debug options
https://bugs.ruby-lang.org/issues/16895#change-85662

* Author: ko1 (Koichi Sasada)
* Status: Open
* Priority: Normal
----------------------------------------
## Summary

If you maintain a Ruby application or library, please consider testing with the Ruby `master` branch, including the *debug* (`cppflags=-DRUBY_DEBUG=1`) build (in addition to testing all supported stable releases of Ruby).

To make this easier, we are providing Docker images and GitHub actions, as outlined below.

## Details

The rapid pace of Ruby development sometimes introduces bugs, such as incorrect behaviour or unexpected incompatibilities. Despite our best efforts and testing, without your feedback, we cannot catch every issue.

Understanding how our changes impact downstream code is important feedback for the Ruby core developers. We want to know how your applications work on master.

If you encounter an error when testing with the `master` branch (e.g. `[BUG] ...` in output log), [please report it](https://bugs.ruby-lang.org). It will be very helpful.

### Testing With `master`

Testing using the `master` branch (sometimes referred to as `ruby-head`) will make your Ruby scripts ready for the next Ruby version. It also helps us catch incompatibilities as we change and evolve Ruby's public interface.

### Testing With Debug Build

Testing with the master branch debug build enables many assertions within the Ruby interpreter.

These assertions can detect incorrect usage of the C extensions, and also bugs in the interpreter when running your program.

These assertions have an impact on the performance of the interpreter.

To compile a debug build, refer the later section titled "Building With Debug Mode".

## Continuous Integration With `master`

Building Ruby for your own testing environment can be difficult, so we are providing two convenient ways to use the master branch in your existing testing pipeline:

- Docker Images
- Github Action

### Docker Images

The [rubylang docker repository](https://hub.docker.com/r/rubylang/ruby) provides images for various Ruby versions, including nightly builds of master with and without debug assertions"

- Nightly built master: `rubylang/ruby:master-nightly-bionic`
- Nightly debug built master: `rubylang/ruby:master-debug-nightly-bionic`

Here is an example `Dockerfile`:

```dockerfile
FROM rubylang/ruby:master-nightly-bionic
```

Then to build:

```shell
$ docker build .
Sending build context to Docker daemon  2.048kB
Step 1/1 : FROM rubylang/ruby:master-nightly-bionic
master-nightly-bionic: Pulling from rubylang/ruby
...
Status: Downloaded newer image for rubylang/ruby:master-nightly-bionic
 ---> 059d367a8fbd
Successfully built 059d367a8fbd
```

### GitHub Action

The [GitHub Action to setup Ruby](https://github.com/ruby/setup-ruby) provides both `ruby-head` and `ruby-debug` builds.

Here is an example workflow to test on all Ruby stable releases, including `ruby-head` and `ruby-debug`:

```yaml
name: Development
on: [push]
jobs:
  test:
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu]
        ruby: [2.5, 2.6, 2.7, head, debug]

    runs-on: ${{ matrix.os }}-latest
    continue-on-error: ${{ matrix.ruby == 'head' || matrix.ruby == 'debug' }}
    steps:
    - uses: actions/checkout@v2
    - uses: ruby/setup-ruby@v1
      with:
        ruby-version: ${{ matrix.ruby }}

    - run: bundle install
    - run: bundle exec rake
```

See the [documentation](https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby) for more details on how to use this action.

## Building With Debug Mode

To create a debug build of Ruby, execute the following commands:

```
$ git clone https://github.com/ruby/ruby.git
$ cd ruby
$ autoconf
$ cppflags=-DRUBY_DEBUG=1 ./configure --prefix=$HOME/.rubies/ruby-debug
$ make install
```

If you are using `chruby`, you can switch to the above build:

```
$ chruby ruby-debug
```

You can find more details to build Ruby master in the [README](https://github.com/ruby/ruby/blob/master/README.md#how-to-compile-and-install).

## Acknowledgement

We thank @mrkn for the Docker image, @eregon for the GitHub Action, and @ioquatix for reviewing this announcement.




-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread