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

release: initial gRPC instrumentation release under the OpenTelemetry org #1405

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

michal-kazmierczak
Copy link
Contributor

@michal-kazmierczak michal-kazmierczak commented Feb 10, 2025

This PR provides the final touches for the gRPC instrumentation release. It (probably) closes #1261

I checked the release automation but I'm unsure how the automated release should be handled given that this gem was donated and older versions exist on RubyGems. Could I get some guidance on this?

Also, I think we will be able to add this gem to all once the initial release is done.

Copy link
Collaborator

@arielvalentin arielvalentin left a comment

Choose a reason for hiding this comment

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

If this is the first real release of the gem then set the version to 0.0.0 and use the default changelog heading that is generated from here:

https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/.instrumentation_generator/templates/CHANGELOG.md.tt

The release tooling should pick up all related PRs and metion them as part of the initial changlog.

@michal-kazmierczak
Copy link
Contributor Author

If this is the first real release of the gem then set the version to 0.0.0 and use the default changelog heading that is generated from here:

https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/.instrumentation_generator/templates/CHANGELOG.md.tt

The release tooling should pick up all related PRs and metion them as part of the initial changlog.

Thanks for your help. I think we are all set now for the automation.

@michal-kazmierczak michal-kazmierczak force-pushed the grpc-instrumentation-release branch from 11bacca to 4bccd56 Compare February 12, 2025 17:13
@@ -1,10 +1,14 @@
# Release History: opentelemetry-instrumentation-grpc

### v0.2.0 / 2025-01-16
### v0.2.0 / 2025-02-11
Copy link
Collaborator

Choose a reason for hiding this comment

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

You will want this file to be empty except for the heading.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ok! Updated.

Copy link
Collaborator

@arielvalentin arielvalentin left a comment

Choose a reason for hiding this comment

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

@kaylareopelle mind giving this another look?

I think we got it all except fo release please file but we aren't really using that yet so I think its fine.

@kaylareopelle
Copy link
Contributor

Thanks for opening this PR, @michal-kazmierczak and for looping me in, @arielvalentin!

@arielvalentin, even though this is the first release within the OpenTelemetry release tooling, there are already a few versions of this gem with this name out on RubyGems: https://rubygems.org/gems/opentelemetry-instrumentation-grpc

I'd like to keep the release history of the previous versions preserved in the changelog since people can still find them on RubyGems. Can toys support this? I thought it would be acceptable given the format of the changelog file matched what toys would have produced.

@arielvalentin
Copy link
Collaborator

Thanks for opening this PR, @michal-kazmierczak and for looping me in, @arielvalentin!

@arielvalentin, even though this is the first release within the OpenTelemetry release tooling, there are already a few versions of this gem with this name out on RubyGems: https://rubygems.org/gems/opentelemetry-instrumentation-grpc

I'd like to keep the release history of the previous versions preserved in the changelog since people can still find them on RubyGems. Can toys support this? I thought it would be acceptable given the format of the changelog file matched what toys would have produced.

No because @hibachrach published it under their account. We would need to figure out how to publish this version of the gem under the opentelemetry account.

I am not sure how to resolve situations where someone publishes a gem that would normally fall under our namespace. In the past @simi has yanked the gem but I believe that was a case where it was a malicious actor.

@simi is there anyway for us to reserve a specific gem namespace like opentelemetry-instrumentation-* to ensure we are the only ones who could publish gems there?

@michal-kazmierczak michal-kazmierczak force-pushed the grpc-instrumentation-release branch from 80e62c1 to 53f21c0 Compare February 12, 2025 21:10
@hibachrach
Copy link
Contributor

@arielvalentin Happy to help in anyway i can (incl. transferring ownership of the gem)

@kaylareopelle
Copy link
Contributor

Hi @michal-kazmierczak, @hibachrach - I'm working behind the scenes on some things to aid the ownership transfer. I hope to have more for you soon!

@michal-kazmierczak michal-kazmierczak force-pushed the grpc-instrumentation-release branch from 53f21c0 to 11c0fe4 Compare March 5, 2025 07:22
@kaylareopelle
Copy link
Contributor

Hi @michal-kazmierczak, today I learned all instrumentation needs to have a dependency on the opentelemetry-api at version ~> 1.0. It looks like the GRPC gem currently has the dependency set to ~> 1.2. Would you mind updating the dependency version constraint?

Also, I now can facilitate a gem ownership transfer. @hibachrach, could you follow the instructions on this page? Our username is opentelemetry-ruby.

@michal-kazmierczak michal-kazmierczak force-pushed the grpc-instrumentation-release branch from 1a31721 to 305f526 Compare March 5, 2025 20:22
@michal-kazmierczak
Copy link
Contributor Author

michal-kazmierczak commented Mar 5, 2025

Hi @michal-kazmierczak, today I learned all instrumentation needs to have a dependency on the opentelemetry-api at version ~> 1.0. It looks like the GRPC gem currently has the dependency set to ~> 1.2. Would you mind updating the dependency version constraint?

I missed that, thank you for pointing out. I've updated it.

@hibachrach
Copy link
Contributor

@kaylareopelle done! says you need to click a confirmation link sent to your email.

@kaylareopelle
Copy link
Contributor

kaylareopelle commented Mar 10, 2025

With help from @simi and @hibachrach, opentelemetry-ruby is now a co-owner of the gRPC gem! 🎉 That should mean our release process has the permission it needs to publish a new version of the gem with its current versioning.

With this in mind, @arielvalentin, are you comfortable putting the previous entries back into the changelog? Will that work with toys? The only change I recommend is to take out the 2.0.0 entry and let toys take care of that when the release workflow runs.

Copy link
Contributor

@kaylareopelle kaylareopelle left a comment

Choose a reason for hiding this comment

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

@michal-kazmierczak - Two more small housekeeping changes and then we can merge this in!

Comment on lines 9 to 24
### v0.1.3 / 2024-09-11

* FIXED: Fix error in handling of non-gRPC errors
* FIXED: Fix error in method signature for OpenTelemetry::Instrumentation::Grpc.client_interceptor [#1](https://github.com/hibachrach/opentelemetry-instrumentation-grpc/pull/1)

### v0.1.2 / 2024-06-26

* FIXED: Align span naming with spec

### v0.1.1 / 2024-06-26

* FIXED: Fix `uninitialized constant Interceptors` error

### v0.1.0 / 2024-06-18

* Initial release
Copy link
Contributor

Choose a reason for hiding this comment

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

@michal-kazmierczak - Could you add the CHANGELOG information back from version 0.1.3 and below? We're now set up to release the next version of the gem in step with the existing versioning and would like to maintain the README.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sure, the CHANGELOG is restored up to v0.1.3

@michal-kazmierczak michal-kazmierczak force-pushed the grpc-instrumentation-release branch from f7bacd0 to 1a63b7d Compare March 27, 2025 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Prepare gRPC instrumentation donation for release
5 participants