Project

libdatadog

1.0
No release in over a year
libdatadog is a Rust-based utility library for Datadog's ddtrace gem.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies
 Project Readme

libdatadog Ruby gem

libdatadog provides a shared library containing common code used in the implementation of Datadog's libraries, including Continuous Profilers.

NOTE: If you're building a new Datadog library/profiler or want to contribute to Datadog's existing tools, you've come to the right place! Otherwise, this is possibly not the droid you were looking for.

Development

Run bundle exec rake to run the tests and the style autofixer. You can also run bundle exec pry for an interactive prompt that will allow you to experiment.

Testing packaging locally

You can use bundle exec rake package to generate packages locally without publishing them.

TIP: If the test that checks for permissions ("gem release process ... sets the right permissions on the gem files"), fails you may need to run umask 0022 && bundle exec rake package so that the generated packages have the correct permissions.

Releasing a new version to rubygems.org

Note: No Ruby needed to run this! It all runs in CI!

  1. Locate the new libdatadog release on GitHub: https://github.com/datadog/libdatadog/releases
  2. Update the LIB_GITHUB_RELEASES section of the Rakefile with the hashes from the new version
  3. In the <lib/libdatadog/version.rb> file:
    • Update LIB_VERSION with the new version. Example: Setting "25.0.0" results in the first part of the string "25.0.0.1.0.x"
    • (OPTIONAL) Update GEM_PRERELEASE_VERSION with a prerelease descriptor. This is only needed if you want to do a prerelease. Example: Setting ".beta" results in "25.0.0.1.0.beta".
  4. Commit change, open PR, get it merged
  5. Trigger the "Publish" workflow in https://github.com/DataDog/libdatadog-rb/actions/workflows/publish.yml
  6. Verify that release shows up correctly on: https://rubygems.org/gems/libdatadog

Contributing

See <CONTRIBUTING.md>.