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

Use Cargo workspace properties and document MSRV #247

Merged
merged 3 commits into from
Sep 14, 2023

Conversation

morrisonlevi
Copy link
Contributor

@morrisonlevi morrisonlevi commented Sep 12, 2023

What does this PR do?

This adds workspace.package to the root Cargo.toml:

rust-version = "1.69"
edition = "2021"
version = "4.0.0"
license = "Apache-2.0"

Motivation

This allows changing things in fewer places. I hope to make changing the minimum supported rust version (MSRV), edition, and libdatadog version easier.

Additional Notes

Not every crate inherits these new properties. The serverless and sidecar crates, and some of their dependencies, have remained under their own versioning and control.

How to test the change?

Regular tests should apply. This shouldn't change any behavior.

For Reviewers

  • If this PR touches code that signs or publishes builds or packages, or handles credentials of any kind, I've requested a review from @DataDog/security-design-and-guidance.
  • This PR doesn't touch any of that.

@morrisonlevi morrisonlevi requested a review from a team as a code owner September 12, 2023 22:17
@github-actions github-actions bot added profiling Relates to the profiling* modules. common labels Sep 12, 2023
This doesn't bump it, although based on how often we've bumped in the
past, we could move to Rust 1.71.
@ivoanjo
Copy link
Member

ivoanjo commented Sep 13, 2023

Thanks for picking this up! I think it makes a lot of sense (with my extremely limited Rust-foo, lol).

I did notice that CI is breaking because some of our images are not yet on Rust 1.69.

pawelchcki
pawelchcki previously approved these changes Sep 13, 2023
danielsn
danielsn previously approved these changes Sep 13, 2023
@morrisonlevi
Copy link
Contributor Author

I did notice that CI is breaking because some of our images are not yet on Rust 1.69.

I fixed the Alpine images in the downstream repository 👍🏻

@morrisonlevi morrisonlevi merged commit e415d06 into main Sep 14, 2023
20 checks passed
@morrisonlevi morrisonlevi deleted the levi/document-msrv branch September 14, 2023 21:21
ivoanjo added a commit that referenced this pull request Oct 3, 2023
**What does this PR do?**

This PR bumps the libdatadog version to 5.0.0. This PR looks a bit
different from previous PRs to bump libdatadog version
[(here's the 4.0.0 PR as an example)](#236)
because in [this PR](#247)
we've centralized the version on the single `Cargo.toml` file.

Furthermore, we're going from 4.0.0 to 5.0.0 because there were a number
of backwards-incompatible changes to the profiling APIs.

**Motivation:**

Release libdatadog 5.5.0.

**Additional Notes:**

If I haven't missed anything, the backwards incompatible API changes
were the following:

* The value of the `end_timestamp_ns` label is now provided as a
  regular argument to `ddog_prof_Profile_add`
* The libdatadog 5 serializer outputs compressed pprof files
* The exporter has a new API that takes two lists, a list of
  files to compress and a list of files to assume are compressed when
  exporting
* The libdatadog 5 serializer now resets profiles as part of serializing them
* The `ddog_prof_Profile_new` now returns a result structure

**How to test the change?**

I've tested the libdatadog 5 releases using the Ruby profiler, see
DataDog/dd-trace-rb#3169 for my draft PR.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
common mini-agent profiling Relates to the profiling* modules. telemetry
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants