Bump packaged libdatadog to 36.0.0#61
Conversation
Update LIB_VERSION to 36.0.0 (gem version 36.0.0.1.0) and refresh the per-artifact sha256 checksums in the Rakefile LIB_GITHUB_RELEASES table to match the v36.0.0 GitHub release assets, so the download-based publish workflow keeps verifying downloads correctly. v36.0.0 ships the trace exporter fork-safety FFI (the ddog_trace_exporter_cancel_token_* and ddog_shared_runtime_* symbols) that the native transport needs for fork-safe operation. The MSRV is unchanged from v35.0.0 (Rust 1.87.0), so no toolchain bump is required.
| LIB_GITHUB_RELEASES = [ | ||
| { | ||
| file: "libdatadog-aarch64-alpine-linux-musl.tar.gz", | ||
| sha256: "d95b24f1f7c46ab4b488a4802bb17b30db133b284079b96028d4cccc08b098d1", | ||
| sha256: "e93457fd251444dbece87ad424140711a43cbc20da2c5c98009ba84d9be5e733", | ||
| ruby_platform: "aarch64-linux-musl" | ||
| }, | ||
| { | ||
| file: "libdatadog-aarch64-unknown-linux-gnu.tar.gz", | ||
| sha256: "662b760cc1db173737991e62e400c104eb776dd01309b8669760f6d9e7471f2e", | ||
| sha256: "2a11baa8966e6c681b591124dfe6f4770fc4eae2c56f78aa2c7948088aea7a7b", | ||
| ruby_platform: "aarch64-linux" | ||
| }, | ||
| { | ||
| file: "libdatadog-x86_64-alpine-linux-musl.tar.gz", | ||
| sha256: "232c6704c6d11116a22f379629c462cd637f36003242e98d56f1bb691639e1a9", | ||
| sha256: "42ec78865aacb9259656834dec9c4ab16ffe3d654c7eb5286eb543c7fd8f8baf", | ||
| ruby_platform: "x86_64-linux-musl" | ||
| }, | ||
| { | ||
| file: "libdatadog-x86_64-unknown-linux-gnu.tar.gz", | ||
| sha256: "26ea0fb1f36ed2e56afbc37e6e13853c6e3de4bba48c19d7cfb6ee85cc4eaa35", | ||
| sha256: "2925f2ed001ecb0d34d7c485aa5aadf86678bba62012ccb3fd5bdf272faee5da", | ||
| ruby_platform: "x86_64-linux" | ||
| }, | ||
| { | ||
| file: "libdatadog-aarch64-apple-darwin.tar.gz", | ||
| sha256: "c7e24151466daa085a1b6d2a382ce135ca905bc1d7230fb983b042d3d6e615b7", | ||
| sha256: "d277945d612fa6f38f644f15d1c1b2f63ea92cd53794e9d48ee7ad3290a7660d", | ||
| ruby_platform: "arm64-darwin" | ||
| } | ||
| ] |
There was a problem hiding this comment.
Wait, this should be removed right? We already moved to the new build setup, so these hashes do nothing? 👀
There was a problem hiding this comment.
The PR that removes the old one is not merged yet 😬
There was a problem hiding this comment.
Ah... Okay. I guess this would be an excellent opportunity to use the new flow, but up to you if you don't want to do yet.
There was a problem hiding this comment.
I am, and it has been used before as well (and failed because of rubygems.org misconfiguration, but then I fixed that and it worked), I just didn't get around to merge #60 yet 🥵
| LIB_GITHUB_RELEASES = [ | ||
| { | ||
| file: "libdatadog-aarch64-alpine-linux-musl.tar.gz", | ||
| sha256: "d95b24f1f7c46ab4b488a4802bb17b30db133b284079b96028d4cccc08b098d1", | ||
| sha256: "e93457fd251444dbece87ad424140711a43cbc20da2c5c98009ba84d9be5e733", | ||
| ruby_platform: "aarch64-linux-musl" | ||
| }, | ||
| { | ||
| file: "libdatadog-aarch64-unknown-linux-gnu.tar.gz", | ||
| sha256: "662b760cc1db173737991e62e400c104eb776dd01309b8669760f6d9e7471f2e", | ||
| sha256: "2a11baa8966e6c681b591124dfe6f4770fc4eae2c56f78aa2c7948088aea7a7b", | ||
| ruby_platform: "aarch64-linux" | ||
| }, | ||
| { | ||
| file: "libdatadog-x86_64-alpine-linux-musl.tar.gz", | ||
| sha256: "232c6704c6d11116a22f379629c462cd637f36003242e98d56f1bb691639e1a9", | ||
| sha256: "42ec78865aacb9259656834dec9c4ab16ffe3d654c7eb5286eb543c7fd8f8baf", | ||
| ruby_platform: "x86_64-linux-musl" | ||
| }, | ||
| { | ||
| file: "libdatadog-x86_64-unknown-linux-gnu.tar.gz", | ||
| sha256: "26ea0fb1f36ed2e56afbc37e6e13853c6e3de4bba48c19d7cfb6ee85cc4eaa35", | ||
| sha256: "2925f2ed001ecb0d34d7c485aa5aadf86678bba62012ccb3fd5bdf272faee5da", | ||
| ruby_platform: "x86_64-linux" | ||
| }, | ||
| { | ||
| file: "libdatadog-aarch64-apple-darwin.tar.gz", | ||
| sha256: "c7e24151466daa085a1b6d2a382ce135ca905bc1d7230fb983b042d3d6e615b7", | ||
| sha256: "d277945d612fa6f38f644f15d1c1b2f63ea92cd53794e9d48ee7ad3290a7660d", | ||
| ruby_platform: "arm64-darwin" | ||
| } | ||
| ] |
There was a problem hiding this comment.
Ah... Okay. I guess this would be an excellent opportunity to use the new flow, but up to you if you don't want to do yet.
Why?
Package the libdatadog 36.0.0 release so consumers (notably dd-trace-rb) can
depend on the gem version
36.0.0.1.0, which carries the trace-exporterfork-safety FFI (libdatadog #2051): the
ddog_trace_exporter_cancel_token_*andddog_shared_runtime_*symbols that dd-trace-rb's native transport needs forfork-safe operation.
What does this PR do?
LIB_VERSIONto36.0.0inlib/libdatadog/version.rb(gem version36.0.0.1.0).sha256checksums in theLIB_GITHUB_RELEASEStable in
Rakefileto match the v36.0.0 GitHub release assets, so thedownload-based publish flow keeps verifying downloads correctly.
Both the legacy
publishworkflow (download + verify by hash) and the newerbuildworkflow key offLibdatadog::LIB_VERSION, so the version bump coversboth; only the legacy flow needed the checksum refresh. The MSRV is unchanged
from v35.0.0 (Rust 1.87.0), so the toolchain pin (
rust-toolchain.toml, CIRUST_VERSION) is untouched.How to test the change?
Confirm
vendor/libdatadog-36.0.0/<platform>/.../include/datadog/data-pipeline.hexists and exposes
ddog_TraceExporterCancelToken+ddog_shared_runtime_*, andthat the gem resolves
Libdatadog::VERSION == "36.0.0.1.0".Additional Notes:
Follows the same shape as #53 (the v35.0.0 bump). The from-source
buildworkflow does not consume the libdatadog release hashes (only the toolchain
hashes, untouched here).
JIRA: