-
Notifications
You must be signed in to change notification settings - Fork 581
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
Automate per-package release for specific components #2875
base: main
Are you sure you want to change the base?
Conversation
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. | |||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), | |||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). | |||
|
|||
> [!NOTE] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you envision this to be a temporary place to hold this note? Will we constantly be updating this when gen-ai instrumentations are added? Perhaps we put all gen-ai instrumentations in the future in a specific folder and outline that components in that folder will also have individual changelogs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that in the long term we should support individual release for all components (including existing non-gen-ai ones).
I.e. the central CHANGELOG would disappear.
I'm going to steal the following approach from js-contrib:
As of v0.25.1 (2022-01-24) changelog content has moved to separate CHANGELOG.md files for each package.Use this search for a list of all CHANGELOG.md files in this repo.
to avoid listing all changelogs here explicitly
c657325
to
a5262be
Compare
e549a9e
to
93d8df6
Compare
> | ||
> These libraries are also excluded from the general patch release. | ||
|
||
Per-package patch release preparation is handled by the [`[Package] Release`](./.github/workflows/package-release.yml) workflow that allows |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Per-package patch release preparation is handled by the [`[Package] Release`](./.github/workflows/package-release.yml) workflow that allows | |
Per-package release is handled by the [`[Package] Release`](./.github/workflows/package-release.yml) workflow that allows |
|
||
version=${version_dev%.dev} | ||
|
||
version_file=$(find $path -type f -name "version.py") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
version_file=$(find $path -type f -name "version.py") | ||
file_count=$(echo "$version_file" | wc -l) | ||
|
||
if [ "$file_count" -ne 1 ]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Should we verify that there is a CHANGELOG as well?
@@ -20,17 +20,21 @@ | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Can we refactor the comments at the top of this file to reflect the new usage of this script (since we aren't using the push-to-tag mechanism anymore)?
# This script copies release notes for the current version from CHANGELOG.md file | ||
# and stores them in /tmp/release-notes.txt. | ||
# It also stores them in a /tmp/CHANGELOG_SECTION.md which is used later to copy them over to the | ||
# CHANGELOG in main branch which is done by merge_changelog_to_main script. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Can we include that this script is only being used for package-release.yml workflow?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Thanks for working on this! Just a few minor comments. Feel free to reach out to one of the maintainers to actually test this out with an actual package once it is merged.
Description
Adds automation allowing to release individual components.
Packages that can be released individually are:
package-release/{package}/v{version}
branchopentelemetry-resource-detector-azure
,opentelemetry-sdk-extension-aws
,opentelemetry-propagator-aws-xray
)Related to #2858
Type of change
How Has This Been Tested?
Tested in the fork https://github.com/lmolkova/opentelemetry-python-contrib/actions
Does This PR Require a Core Repo Change?
Checklist:
See contributing.md for styleguide, changelog guidelines, and more.