Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NO-TICKET] Upgrade to libdatadog 9 #3627

Merged
merged 4 commits into from
May 10, 2024
Merged

[NO-TICKET] Upgrade to libdatadog 9 #3627

merged 4 commits into from
May 10, 2024

Conversation

AlexJF
Copy link
Contributor

@AlexJF AlexJF commented May 6, 2024

What does this PR do?

This PR upgrades dd-trace-rb to use libdatadog 9.

Even though there were a few breaking API changes, none of those APIs were being used in the Ruby profiler, so it's a very minor bump for us.

Motivation:

This version includes a number of fixes and tweaks that will finally enable us to land the crash tracker feature (#3384).

How to test the change?

Our existing test coverage includes libdatadog testing, so a green CI is good here :)

@github-actions github-actions bot added the profiling Involves Datadog profiling label May 6, 2024
@AlexJF AlexJF force-pushed the alexjf/libdatadog9 branch 3 times, most recently from 97c9a82 to 8f351b6 Compare May 6, 2024 08:55
datadog.gemspec Outdated
Comment on lines 15 to 16
spec.required_ruby_version = [">= #{Datadog::VERSION::MINIMUM_RUBY_VERSION}", "< #{Datadog::VERSION::MAXIMUM_RUBY_VERSION}"]
spec.required_ruby_version = [">= #{Datadog::VERSION::MINIMUM_RUBY_VERSION}",
"< #{Datadog::VERSION::MAXIMUM_RUBY_VERSION}"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this breaks a sed script in one of our workflows, meaning we should keep this in one line.

Did Robocop change this automatically for you?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It does indeed look like an auto-fix. I'll restore this and add a rubocop exception, to avoid it happening accidentally again.

@ivoanjo
Copy link
Member

ivoanjo commented May 9, 2024

Thanks @AlexJF for starting off this work! I'm taking over from here as Alex is busy with very important things ™️ 😉

I've tweaked the change to the gemspec and validated that I locally get a green test-run.

I'll work to get libdatadog 9 published on rubygems.org, and will mark this PR as non-draft once everything is good to go :)

ivoanjo added a commit to DataDog/libdatadog that referenced this pull request May 9, 2024
**What does this PR do?**

This PR includes the changes documented in the "Releasing a new version to rubygems.org" part of the README:
https://github.com/datadog/libdatadog/tree/main/ruby#releasing-a-new-version-to-rubygemsorg

(It's also very similar to the v7.0.0 release PR).

It also includes a tiny paper cut fix: it disables the Rake `build`
task which is the default way to package a Ruby gem, since we have our
own custom packaging steps in the `Rakefile`.

**Motivation:**

Enable Ruby to use libdatadog v9.0.0.

**Additional Notes:**

We ended up not packaging the previous release (v8) for Ruby, so
we're directly jumping from v7 to v9.

**How to test the change?**

I've tested this release locally using the changes in
DataDog/dd-trace-rb#3627 .

As a reminder, new libdatadog releases don't get automatically picked
up by dd-trace-rb, so the PR that bumps the Ruby profiler will also
test this release against all supported Ruby versions.
ivoanjo added a commit to DataDog/libdatadog that referenced this pull request May 9, 2024
**What does this PR do?**

This PR includes the changes documented in the "Releasing a new version to rubygems.org" part of the README:
https://github.com/datadog/libdatadog/tree/main/ruby#releasing-a-new-version-to-rubygemsorg

(It's also very similar to the v7.0.0 release PR).

It also includes a tiny paper cut fix: it disables the Rake `build`
task which is the default way to package a Ruby gem, since we have our
own custom packaging steps in the `Rakefile`.

**Motivation:**

Enable Ruby to use libdatadog v9.0.0.

**Additional Notes:**

We ended up not packaging the previous release (v8) for Ruby, so
we're directly jumping from v7 to v9.

**How to test the change?**

I've tested this release locally using the changes in
DataDog/dd-trace-rb#3627 .

As a reminder, new libdatadog releases don't get automatically picked
up by dd-trace-rb, so the PR that bumps the Ruby profiler will also
test this release against all supported Ruby versions.
@ivoanjo ivoanjo marked this pull request as ready for review May 10, 2024 10:47
@ivoanjo ivoanjo requested review from a team as code owners May 10, 2024 10:47
@ivoanjo
Copy link
Member

ivoanjo commented May 10, 2024

Libdatadog 9 is now on rubygems.org, and CI is almost green (with some unrelated flakes -- I'll retry those) so this is ready to review :)

@codecov-commenter
Copy link

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 98.13%. Comparing base (1d0db63) to head (3a6b242).

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3627      +/-   ##
==========================================
- Coverage   98.13%   98.13%   -0.01%     
==========================================
  Files        1223     1223              
  Lines       72139    72139              
  Branches     3421     3421              
==========================================
- Hits        70795    70794       -1     
- Misses       1344     1345       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@ivoanjo ivoanjo merged commit f8f3de4 into master May 10, 2024
166 checks passed
@ivoanjo ivoanjo deleted the alexjf/libdatadog9 branch May 10, 2024 11:48
@github-actions github-actions bot added this to the 2.0.0 milestone May 10, 2024
@TonyCTHsu TonyCTHsu mentioned this pull request Jun 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
profiling Involves Datadog profiling
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants