Skip to content

Conversation

@ivoanjo
Copy link
Member

@ivoanjo ivoanjo commented Dec 9, 2025

What does this PR do?

This PR temporarily disables the "Ruby 4.0 corruption" test that's blocking us from releasing the gem as per
https://github.com/DataDog/datadog-ruby_core_source/actions/runs/20057267656/job/57525327190.

Motivation:

Release latest version of the gem, including Ruby 4.0.0-beta2 support.

Additional Notes:

The issue in question is caused by dd-trace-rb currently pinning Ruby 4.0 to a specific hash
(in https://github.com/DataDog/dd-trace-rb/blob/48b4d79d6d043271dc760277ddc820f5343f335c/ruby-4.0.gemfile#L81).

This interacts incorrectly with the "corruption" test, making it use the wrong version of the gem:

(This is the output from the bundle info right before the test runs showing the wrong version being used for the "Add
datadog-ruby_core_source" step, from
https://github.com/DataDog/datadog-ruby_core_source/actions/runs/20057267656/job/57525327190)

  * datadog-ruby_core_source (3.4.1 7b95302)
	Summary: Provide Ruby core source files
	Homepage: https://github.com/DataDog/datadog-ruby_core_source
	Path: /usr/local/bundle/bundler/gems/datadog-ruby_core_source-7b95302a593c
	Reverse Dependencies:
		datadog (2.23.0) depends on datadog-ruby_core_source (~> 3.4, >= 3.4.1)

The expected correct output can be seen in
https://github.com/DataDog/datadog-ruby_core_source/actions/runs/20057267656/job/57525327215:

  * datadog-ruby_core_source (3.4.2)
	Summary: Provide Ruby core source files
	Homepage: https://github.com/DataDog/datadog-ruby_core_source
	Path: /__w/datadog-ruby_core_source/datadog-ruby_core_source/datadog-ruby_core_source
	Reverse Dependencies:
		datadog (2.23.0) depends on datadog-ruby_core_source (~> 3.4, >= 3.4.1)

This messup makes CI fail even though everything is fine.

This is a loop: dd-trace-rb requires the pinning BECAUSE we haven't released this gem yet.

So to break the loop, let's:

  1. omit this test temporarily
  2. then we can release this gem
  3. then we can undo the dd-trace-rb pinning
  4. then we can re-enable the test

This PR is step 1. I'll take care of all 4 ;)

P.s.: Why didn't we see this before? That's because the dd-trace-rb pinning was not there when we initially added the 4.0.0-preview2 headers in #19. Then the pinning was added on the dd-trace-rb side and it silently created this problem for datadog-ruby_core_source CI.

How to test the change?

CI should be green after this change.

**What does this PR do?**

This PR temporarily disables the "Ruby 4.0 corruption" test that's
blocking us from releasing the gem as per
<https://github.com/DataDog/datadog-ruby_core_source/actions/runs/20057267656/job/57525327190>.

**Motivation:**

Release latest version of the gem, including Ruby 4.0.0-beta2 support.

**Additional Notes:**

The issue in question is caused by dd-trace-rb currently pinning Ruby
4.0 to a specific hash
(in https://github.com/DataDog/dd-trace-rb/blob/48b4d79d6d043271dc760277ddc820f5343f335c/ruby-4.0.gemfile#L81).

This interacts incorrectly with the "corruption" test, making it use
the wrong version of the gem:

(This is the output from the `bundle info` right before the test runs
showing the wrong version being used for the "Add
datadog-ruby_core_source" step, from
<https://github.com/DataDog/datadog-ruby_core_source/actions/runs/20057267656/job/57525327190>)

```
  * datadog-ruby_core_source (3.4.1 7b95302)
	Summary: Provide Ruby core source files
	Homepage: https://github.com/DataDog/datadog-ruby_core_source
	Path: /usr/local/bundle/bundler/gems/datadog-ruby_core_source-7b95302a593c
	Reverse Dependencies:
		datadog (2.23.0) depends on datadog-ruby_core_source (~> 3.4, >= 3.4.1)
```

The expected correct output can be seen in
<https://github.com/DataDog/datadog-ruby_core_source/actions/runs/20057267656/job/57525327215>:

```
  * datadog-ruby_core_source (3.4.2)
	Summary: Provide Ruby core source files
	Homepage: https://github.com/DataDog/datadog-ruby_core_source
	Path: /__w/datadog-ruby_core_source/datadog-ruby_core_source/datadog-ruby_core_source
	Reverse Dependencies:
		datadog (2.23.0) depends on datadog-ruby_core_source (~> 3.4, >= 3.4.1)
```

This messup makes CI fail even though everything is fine.

This is a loop: dd-trace-rb requires the pinning BECAUSE we haven't
released this gem yet.

So to break the loop, let's:
1. omit this test temporarily
2. then we can release this gem
3. then we can undo the dd-trace-rb pinning
4. then we can re-enable the test

This PR is step 1. I'll take care of all 4 ;)

P.s.: Why didn't we see this before? That's because the dd-trace-rb
pinning was not there when we initially added the 4.0.0-preview2
headers in #19. Then the pinning was added on the dd-trace-rb side and
it silently created this problem for datadog-ruby_core_source CI.

**How to test the change?**

CI should be green after this change.
@ivoanjo ivoanjo requested review from a team December 9, 2025 09:07
@ivoanjo ivoanjo merged commit 9c88262 into master Dec 9, 2025
18 checks passed
@ivoanjo ivoanjo deleted the ivoanjo/prof-13115-ruby-4-workaround branch December 9, 2025 09:59
ivoanjo added a commit that referenced this pull request Dec 9, 2025
…em release"

**What does this PR do?**

This reverts commit 551b5ae from #20.

See #20 for details. In that PR I mentioned:

So to break the loop, let's:

1. omit this test temporarily: ✅ done -> this was #20
2. then we can release this gem: ✅ done ->
   https://github.com/DataDog/datadog-ruby_core_source/actions/runs/20059401843,
   [version 3.4.2 is on rubygems.org](https://rubygems.org/gems/datadog-ruby_core_source/versions/3.4.2)
3. then we can undo the dd-trace-rb pinning: ✅ done ->
   DataDog/dd-trace-rb#5122
4. then we can re-enable the test

This PR is step 4 and gets us back to where we were before the
workaround.

**Motivation:**

Remove workaround now that it's not needed anymore!

**Additional Notes:**

N/A

**How to test the change?**

Validate that Ruby 4.0 + "corruption" test is running in CI and green.
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.

3 participants