Skip to content

Latest commit

 

History

History
120 lines (88 loc) · 11.7 KB

File metadata and controls

120 lines (88 loc) · 11.7 KB

OpenTelemetry Release Processes Overview

Common Release Practices

  • Semantic Versioning (SemVer) is used in every repository (vMAJOR.MINOR.PATCH). See our Versioning and Stability policy for more information.
  • CHANGELOGs keep an “Unreleased” section that is promoted to a versioned section during a release.
  • Releases are tagged from the default branch or a dedicated release/x.y branch; tags are always prefixed with v.
  • GitHub Actions prepare release PRs, bump versions, draft release notes, publish artifacts, and create Git tags.
  • Each release produces a GitHub Release plus language‑specific artifacts (Maven Central, NuGet, PyPI, NPM, RubyGems, crates.io, Packagist, Docker Hub, etc.).
  • A designated maintainer or release manager triggers/approves the workflows and verifies the release checklist.

Common Artifact & Versioning Practices

Aspect Approach
Versioning after 1.0 No breaking changes in the 1.x line; major bump required for breaking changes.
Unreleased versions Suffixes like -SNAPSHOT, .dev, beta.n are kept on main and stripped for the release commit.
Artifact registries crates.io (Rust), Docker Hub (Collector/Images), Maven Central (Java), npmjs.com (JS), NuGet (.NET), Packagist (PHP), PECL (PHP), PyPI (Python), RubyGems (Ruby)
Version‑bump tooling Gradle scripts, MinVer, cargo release, npm version, Toys scripts, Makefiles, custom GH Actions.

Release Process by SIG / Component

Java (SIG Java)

Repository Release Doc Frequency Automation Release Maintainers
opentelemetry-java RELEASING.md Monthly GitHub Actions (prepare + publish) Release Maintainers
opentelemetry-java-contrib RELEASING.md Monthly GitHub Actions (prepare + publish) Release Maintainers
opentelemetry-java-instrumentation RELEASING.md Monthly GitHub Actions (prepare + publish) Release Maintainers

.NET (SIG .NET)

Repository Release Doc Frequency Automation Release Maintainers
opentelemetry-dotnet RELEASING.md ~Every 4-6 weeks GitHub Actions + slash-commands Release Maintainers
opentelemetry-dotnet-contrib RELEASING.md Monthly (aligned) Partial automation Release Maintainers
opentelemetry-dotnet-instrumentation RELEASING.md Quarterly / ad-hoc Partial Release Maintainers

Go (SIG Go)

Repository Release Doc Frequency Automation Release Maintainers
opentelemetry-go RELEASING.md ~Every 4-6 weeks Make scripts (manual) Release Maintainers
opentelemetry-go-contrib RELEASING.md Monthly (after core) Partial Release Maintainers
opentelemetry-go-instrumentation RELEASING.md ~Every 4-6 weeks Make scripts (manual) Release Maintainers

Python (SIG Python)

Repository Release Doc Frequency Automation Release Maintainers
opentelemetry-python RELEASING.md Monthly GitHub Actions (high) Release Maintainers
opentelemetry-python-contrib RELEASING.md Monthly (aligned) GitHub Actions (high) Release Maintainers

JavaScript (SIG JS)

Repository Release Doc Frequency Automation Release Maintainers
opentelemetry-js Releasing Guide ~bi-weekly, on-demand (after SemConv release) Release PR + Publish workflow Release Maintainers
opentelemetry-js-contrib n/a ~bi-weekly (after core), on-demand GitHub Actions Release Maintainers

Ruby (SIG Ruby)

Repository Release Doc Frequency Automation Release Maintainers
opentelemetry-ruby CONTRIBUTING → Releases Weekly, on-demand Toys scripts + GitHub Actions Release Maintainers
opentelemetry-ruby-contrib CONTRIBUTING → Releases Weekly, on-demand Toys scripts + GitHub Actions Release Maintainers

PHP (SIG PHP)

Repository Release Doc Frequency Automation Release Maintainers
opentelemetry-php n/a Ad-hoc GitHub Actions + scripting + Packagist auto-sync Release Maintainers
opentelemetry-php-contrib Follows core Ad-hoc Follows core Release Maintainers
opentelemetry-php-instrumentation Follows core Ad-hoc GitHub Actions + scripting + PECL manual upload Release Maintainers

C++ (SIG C++)

Repository Release Doc Frequency Automation Release Maintainers
opentelemetry-cpp RELEASING.md Quarterly Scripts (manual) Release Maintainers

Rust (SIG Rust)

Repository Release Doc Frequency Automation Release Maintainers
opentelemetry-rust n/a 4-8 weeks cargo release (tool-assisted) Release Maintainers

Swift (SIG Swift)

Repository Release Doc Frequency Automation Release Maintainers
opentelemetry-swift n/a Bi-monthly Tag → SPM/CocoaPods Release Maintainers

Collector (SIG Collector)

Repository Release Doc Frequency Automation Release Maintainers
opentelemetry-collector docs/release.md Bi-weekly Prepare PR + GitHub Actions Release Maintainers
opentelemetry-collector-contrib Same as core Bi-weekly (after core) Prepare PR + GitHub Actions Release Maintainers
opentelemetry-collector-releases Same as core Bi-weekly (after contrib) Prepare PR + GitHub Actions Release Maintainers

Operator & Other Components

Repository Release Doc Frequency Automation Release Maintainers
opentelemetry-operator RELEASE.md ~Monthly GitHub Actions (Docker + Helm) Release Maintainers
opentelemetry-lambda RELEASE.md Ad-hoc Scripts + GitHub Actions Release Maintainers

Specifications & Schemas

Repository Release Doc Frequency Automation Release Maintainers
opentelemetry-specification CHANGELOG Monthly Manual (TC oversight) Release Maintainers
semantic-conventions RELEASING.md On demand GitHub Actions (prepare) Release Maintainers
opentelemetry-proto RELEASING.md On demand Manual Release Maintainers
opentelemetry-proto-go RELEASING.md On demand after proto Make scripts (manual) Release Maintainers
weaver CONTRIBUTING.md ~ Every 4-6 weeks Manual Release Maintainers

Tip: Most repositories expose their release automation under .github/workflows/. Reading those workflow files provides the authoritative sequence of release steps if the written docs fall behind.