pinecone-io / go-pinecone

Pinecone.io Golang Client
Apache License 2.0
49 stars 9 forks source link

Add GH `release` workflow and `bump-version` action, fix hard-coded client version #66

Closed austin-denoble closed 3 months ago

austin-denoble commented 3 months ago

Problem

We have a private function which returns a hard-coded version number which is used when we build the user-agent for requests originating from the client. This is difficult to maintain while releasing because Go releases are handled through GitHub and Git tags, and requires us to keep things in sync manually.

I also missed updating this for v1.0.0, so it needs to be bumped anyways.

We're also missing any kind of "official" release process for the Go client, which would be beneficial in standardizing versioning and the process for releasing the client now that we're >v1.0.0. I'd rather we have a GitHub workflow similar to the other clients even if it primarily involves bumping a hard-coded version file, and pushing a tag.

Solution

Type of Change

Test

I'll need to get the CI files into source before I can test the actual release process. My thinking here is I've updated the hard-coded value to the current v1.0.0, and I'd like to release a v1.0.1 to fix the current problem with the user-agent not matching. I think this is reasonable, but let me know if you don't agree.

The bump-version action itself was lifted directly from @jhamon's work including unit tests, so I think that is mostly safe. I'd spend the bulk of the review looking at my approach in release.yaml.