This document describes how to release packages from this repository.
How to release a new version of the GenAI packages:
| Package Name | Path | Current Version | Tag Format |
|---|---|---|---|
| splunk-otel-util-genai | util/opentelemetry-util-genai |
0.1.9 | util-genai-v0.Y.Z |
| splunk-otel-util-genai-evals | util/opentelemetry-util-genai-evals |
0.1.7 | util-genai-evals-v0.Y.Z |
| splunk-otel-genai-emitters-splunk | util/opentelemetry-util-genai-emitters-splunk |
0.1.6 | genai-emitters-splunk-v0.Y.Z |
| splunk-otel-genai-evals-deepeval | util/opentelemetry-util-genai-evals-deepeval |
0.1.12 | genai-evals-deepeval-v0.Y.Z |
| splunk-otel-util-genai-translator-traceloop | util/opentelemetry-util-genai-traceloop-translator |
0.1.7 | genai-translator-traceloop-v0.Y.Z |
| splunk-otel-util-genai-translator-langsmith | util/opentelemetry-util-genai-langsmith-translator |
0.1.0 | genai-translator-langsmith-v0.Y.Z |
| splunk-otel-util-genai-translator-openlit | util/opentelemetry-util-genai-openlit-translator |
0.1.1 | genai-translator-openlit-v0.Y.Z |
| splunk-otel-instrumentation-langchain | instrumentation-genai/opentelemetry-instrumentation-langchain |
0.1.7 | instrumentation-langchain-v0.Y.Z |
| splunk-otel-instrumentation-llamaindex | instrumentation-genai/opentelemetry-instrumentation-llamaindex |
0.1.0 | instrumentation-llamaindex-v0.Y.Z |
| splunk-otel-instrumentation-aidefense | instrumentation-genai/opentelemetry-instrumentation-aidefense |
0.2.0 | instrumentation-aidefense-v0.Y.Z |
| splunk-otel-instrumentation-weaviate | instrumentation-genai/opentelemetry-instrumentation-weaviate |
0.1.0 | instrumentation-weaviate-v0.Y.Z |
| splunk-otel-instrumentation-crewai | instrumentation-genai/opentelemetry-instrumentation-crewai |
0.1.2 | instrumentation-crewai-v0.Y.Z |
| splunk-otel-instrumentation-openai-agents | instrumentation-genai/opentelemetry-instrumentation-openai-agents-v2 |
0.1.2 | instrumentation-openai-agents-v0.Y.Z |
| splunk-otel-instrumentation-fastmcp | instrumentation-genai/opentelemetry-instrumentation-fastmcp |
0.1.1 | instrumentation-fastmcp-v0.Y.Z |
-
Create a new branch from
main -
Navigate to the package directory you want to release
-
Bump dependency versions in the package's
pyproject.toml- update otel dependencies to the latest versions if needed
-
Bump the version in the package's
version.pyfile- e.g.,
util/opentelemetry-util-genai/src/opentelemetry/util/genai/version.py - update
__version__ = "0.1.0"to the new version
- e.g.,
-
Add a new entry in CHANGELOG.md for the package release
-
Commit the changes with a message like "Bump util-genai version to 0.1.0"
-
Push the changes to the Github Splunk OTel Python repo
-
Open a PR and merge after approval
-
Navigate to the GitLab mirror and verify that the mirror has pulled the version you just merged by checking the version number in the package's
version.pyfile -
When ready to release, create a new tag with the package-specific format on main in GitLab
- IMPORTANT: GenAI packages use a tag format that includes the package name prefix
- Examples:
- For
splunk-otel-util-genaiversion0.1.0, create tag:util-genai-v0.1.0 - For
splunk-otel-instrumentation-langchainversion0.2.0, create tag:instrumentation-langchain-v0.2.0
- For
- A tag matching the package-specific format will trigger the CI pipeline to build and publish that specific package to PyPI
-
Monitor the release pipeline in GitLab to ensure it completes successfully
- The pipeline will show jobs like
build-util-genai,sign-util-genai,deploy-util-genai
- The pipeline will show jobs like
-
Post release, verify that the new package is available on PyPI
- e.g.,
https://pypi.org/project/splunk-otel-util-genai/0.1.0/
- e.g.,
-
Smoke test the release locally by installing the new package and running it with a small app
pip install splunk-otel-util-genai==0.1.0
Note: Steps 14 and onward are only required for GA (Generally Available) releases. For alpha/beta releases, stop at step 13.
-
Navigate to Pipelines in the GitLab repo, click the download button for the build job that just ran, and select the package-specific build job artifact (e.g.,
build-util-genai)- this will download a tarball of the package files
-
Navigate to the Splunk OTel Python repo and create a New Release
- create a new tag on publish with the tag name you created in step 10 (e.g.,
util-genai-v0.1.0) - set the title to that tag name
- unpack the tarball from step 14 and drag its contents onto the attachments section of the New Release page
- Leave the defaults selected and click Publish
- create a new tag on publish with the tag name you created in step 10 (e.g.,