Skip to content
This repository has been archived by the owner on Jun 28, 2022. It is now read-only.

Ruby updates: 0.5.0 packaging + package arm64 + change fallback package strategy #39

Merged

Conversation

ivoanjo
Copy link
Member

@ivoanjo ivoanjo commented Mar 25, 2022

What does this PR do?

This PR prepares the 0.5.0 Ruby packages, and includes a bunch of changes to take advantage of 0.5 improvements:

  • Exclude debug information from Ruby packages
  • Package Linux arm64 releases for Ruby
  • Changes the strategy for the fallback package with no platform (see more details in the change to the Rakefile)

(I've broken it into separate commits which hopefully will make sense individually)

Motivation

Release latest improvements for usage by the Ruby profiler.

Additional Notes

Using docker-compose run push_to_rubygems to release the packages won't work until we actually upload the 0.5.0-rc.1 binaries as 0.5.0. I built the packages locally and validated the dd-trace-rb tests are green (see "How to test the change?" below).

Also note that libddprof is not yet being used in any released version of dd-trace-rb, and more validation will be done on the Ruby side before we do so.

How to test the change?

Libddprof integration is still in PR for dd-trace-rb. Testing can be done with DataDog/dd-trace-rb#1936 . I've built the packages locally without releasing them, and validated that libddprof integration tests in the mentioned PR are all passing.

In a previous commit I added the code to generate
`ddprof_ffi_with_rpath.pc` but forgot to update the Ruby helpers to
use that file. (My testing did not flag this because my initial plan
was to change `ddprof_ffi.pc` directly to add the rpath flags, and
the rename came late in the branch.)

I will include a matching change on the dd-trace-rb side.
See comment in `Rakefile` for details on this decision.
Copy link
Contributor

@r1viollet r1viollet left a comment

Choose a reason for hiding this comment

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

LGTM


GEM_MAJOR_VERSION = "2"
GEM_MAJOR_VERSION = "1"
Copy link
Collaborator

Choose a reason for hiding this comment

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

We're going from 2.0.beta1 down to 1.0 in this commit?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, but! :)

The actual version for release is (from line 16):

VERSION = "#{LIB_VERSION}.#{GEM_MAJOR_VERSION}.#{GEM_MINOR_VERSION}#{GEM_PRERELEASE_VERSION}"

Aka we're going from 0.3.0.2.0.beta1 to 0.5.0.1.0 so it's not as insane as it appears :)

@ivoanjo
Copy link
Member Author

ivoanjo commented Mar 29, 2022

Thanks y'all! Merging ahoy!

@ivoanjo ivoanjo merged commit 5d7e5fe into main Mar 29, 2022
@ivoanjo ivoanjo deleted the ivoanjo/package-0.5.0-ruby-plus-arm64-plus-platform-specific-gem branch March 29, 2022 16:11
ivoanjo added a commit to DataDog/dd-trace-rb that referenced this pull request Apr 25, 2022
…Gemfile"

This reverts commit 6f434de.

This is not needed since the libddprof fallback strategy was
changed in 0.5.0: <DataDog/libddprof#39>.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants