Skip to content

[PROF-11203] Add Ruby 3.4.0 stable headers and bump gem version to 3.4.0#14

Merged
ivoanjo merged 7 commits into
masterfrom
ivoanjo/prof-11203-ruby-3_4-stable-headers
Jan 27, 2025
Merged

[PROF-11203] Add Ruby 3.4.0 stable headers and bump gem version to 3.4.0#14
ivoanjo merged 7 commits into
masterfrom
ivoanjo/prof-11203-ruby-3_4-stable-headers

Conversation

@ivoanjo

@ivoanjo ivoanjo commented Jan 27, 2025

Copy link
Copy Markdown
Member

What does this PR do?

This PR:

  • Adds the Ruby 3.4.0 stable headers, removing the 3.4.0-preview2 and 3.4.0-rc1 we were shipping
  • Bumps the gem version to 3.4.0

Motivation:

Although in practice this doesn't seem to make a difference for dd-trace-rb, the 3.4.0-rc1 headers are not exactly the same as the 3.4.0 stable ones (if you examine the diff) so we should use the correct version.

Furthermore, we reduce the on-disk footprint by not having two sets of 3.4.0 headers.

Additional Notes:

N/A

How to test the change?

I've locally tested the new gem with:

  • Ruby 3.3.4, 3.3.5 => no impact
  • Ruby 3.4.0-preview1, 3.4.0-preview2 => builds but test suite crashes (headers not compatible)
  • Ruby 3.4.0-rc1, 3.4.0, 3.4.1 => new headers get used successfully, test suite passes

These are no longer needed now that Ruby 3.4.0 stable is out.
These were the output of running
`bundle exec rake add_source VERSION=3.4.0`

For some weird reason the `archive-tar-minitar` gem was getting stuck
calling fsync so I had to `bundle open` the gem and disable the fsync
code.
Also manually removed the `*.inc` files.
These are no longer needed now that Ruby 3.4.0 stable is out.
The missing patchlevel is due to an upstream bug (which is the reason
why Ruby 3.4.1 was immediately released after 3.4.0), so let's
manually account for it.
@ivoanjo
ivoanjo merged commit ee0d044 into master Jan 27, 2025
@ivoanjo
ivoanjo deleted the ivoanjo/prof-11203-ruby-3_4-stable-headers branch January 27, 2025 12:00
ivoanjo added a commit that referenced this pull request Apr 23, 2025
…3.4.1

**What does this PR do?**

This PR imports the Ruby 3.5.0-preview1 headers into the gem.

**Motivation:**

These headers are needed to get the Datadog Ruby profiler to work
correctly on Ruby 3.5.0-preview1.

(I tried without these updated headers and it broke since it will try
to fall back to the 3.4 headers).

**Additional Notes:**

This PR is very similar to
#14 .

**How to test the change?**

I've tested this PR by running the ruby profiler test suite on
both Ruby 3.4.1 and 3.5.0-preview1 with these changes, and validating
it was green.

At some point we'll have CI in dd-trace-rb for Ruby 3.5, but currently
this testing was done locally.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants