Autogenerate release notes (#5363)
* Stricter version parsing * Automate release notes * Update change log formatting
This commit is contained in:
parent
3b81bc49e8
commit
8ce1445ae6
|
@ -13,7 +13,7 @@ jobs:
|
|||
- name: Set release branch name
|
||||
id: set-release-branch-name
|
||||
run: |
|
||||
release_branch_name=$(grep -Eo "[0-9.]+-SNAPSHOT" version.gradle.kts | sed -E 's/([0-9]+)\.([0-9]+)\.([0-9]+)-SNAPSHOT/v\1.\2.x/')
|
||||
release_branch_name=$(grep -Eo "[0-9.]+-SNAPSHOT" version.gradle.kts | sed -E 's/([0-9]+)\.([0-9]+)\.0-SNAPSHOT/v\1.\2.x/')
|
||||
echo "::set-output name=release-branch-name::$release_branch_name"
|
||||
|
||||
- name: Create release branch
|
||||
|
@ -31,12 +31,12 @@ jobs:
|
|||
|
||||
- name: Remove SNAPSHOT from version
|
||||
run: |
|
||||
v=$(grep -Eo "[0-9]+.[0-9]+.[0-9]+-SNAPSHOT" version.gradle.kts | sed 's/-SNAPSHOT//')
|
||||
v=$(grep -Eo "[0-9]+.[0-9]+.0-SNAPSHOT" version.gradle.kts | sed 's/-SNAPSHOT//')
|
||||
.github/scripts/update-versions.sh "$v-SNAPSHOT" "$v-alpha-SNAPSHOT" "$v" "$v-alpha"
|
||||
|
||||
- name: Bump download link version
|
||||
run: |
|
||||
new_version=$(grep -Eo "[0-9]+.[0-9]+.[0-9]+" version.gradle.kts | head -1)
|
||||
new_version=$(grep -Eo "[0-9]+.[0-9]+.0" version.gradle.kts | head -1)
|
||||
sed -Ei "s,https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v[0-9]+.[0-9]+.[0-9]+/,https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v$new_version/," README.md
|
||||
|
||||
- name: Setup git name
|
||||
|
@ -65,7 +65,7 @@ jobs:
|
|||
|
||||
- name: Bump SNAPSHOT version
|
||||
run: |
|
||||
v=$(grep -Eo "[0-9]+.[0-9]+.[0-9]+-SNAPSHOT" version.gradle.kts | sed 's/-SNAPSHOT//')
|
||||
v=$(grep -Eo "[0-9]+.[0-9]+.0-SNAPSHOT" version.gradle.kts | sed 's/-SNAPSHOT//')
|
||||
if [[ $v =~ ([0-9]+).([0-9]+).0 ]]; then
|
||||
major="${BASH_REMATCH[1]}"
|
||||
minor="${BASH_REMATCH[2]}"
|
||||
|
|
|
@ -135,6 +135,8 @@ jobs:
|
|||
- uses: actions/checkout@v2.3.4
|
||||
with:
|
||||
ref: ${{ github.ref_name }}
|
||||
# tags are needed for the generate-release-contributors.sh script
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set up JDK 11 for running Gradle
|
||||
uses: actions/setup-java@v2
|
||||
|
@ -168,11 +170,52 @@ jobs:
|
|||
arguments: build publishPlugins publishPluginMavenPublicationToSonatypeRepository closeAndReleaseSonatypeStagingRepository
|
||||
build-root-directory: gradle-plugins
|
||||
|
||||
- name: Set release version
|
||||
id: set-release-version
|
||||
- name: Set versions
|
||||
id: set-versions
|
||||
run: |
|
||||
v=$(grep -Eo "[0-9]+.[0-9]+.[0-9]+" version.gradle.kts | head -1)
|
||||
v=$(grep -Eo "[0-9]+.[0-9]+.0" version.gradle.kts | head -1)
|
||||
if [[ $v =~ ([0-9]+).([0-9]+).0 ]]; then
|
||||
major="${BASH_REMATCH[1]}"
|
||||
minor="${BASH_REMATCH[2]}"
|
||||
else
|
||||
echo "unexpected version: $v"
|
||||
exit 1
|
||||
fi
|
||||
if [[ $minor == 0 ]]; then
|
||||
prior_major=$((major - 1))
|
||||
prior_minor=$(grep -Po "^## Version $prior_major.\K([0-9]+)" CHANGELOG.md | head -1)
|
||||
prior="$prior_major.$prior_minor"
|
||||
else
|
||||
prior="$major.$((minor - 1)).0"
|
||||
fi
|
||||
echo "::set-output name=release-version::$v"
|
||||
echo "::set-output name=prior-version::$prior"
|
||||
|
||||
- name: Generate Release Notes
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
cat > release-notes.txt << EOF
|
||||
Note that all artifacts other than `io.opentelemetry.javaagent:opentelemetry-javaagent` have the `-alpha` suffix attached to their version number, reflecting that they are still alpha quality and will continue to have breaking changes. Please see the [VERSIONING.md](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/VERSIONING.md#opentelemetry-java-instrumentation-versioning) for more details.
|
||||
|
||||
EOF
|
||||
|
||||
sed -n '4,/^## Version /p' CHANGELOG.md \
|
||||
| head -n -1 \
|
||||
| perl -0pe 's/^\n+//g' \
|
||||
| perl -0pe 's/\n+$/\n/g' \
|
||||
| sed -r 's,\[#([0-9]+)]\(https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/[0-9]+\),#\1,' \
|
||||
| perl -0pe 's/\n +/ /g' \
|
||||
>> release-notes.txt
|
||||
|
||||
cat >> release-notes.txt << EOF
|
||||
|
||||
### 🙇 Thank you
|
||||
This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:
|
||||
|
||||
EOF
|
||||
|
||||
.github/scripts/generate-release-contributors.sh v${{ steps.set-versions.outputs.prior-version }} v${{ steps.set-versions.outputs.release-version }} >> release-notes.txt
|
||||
|
||||
- name: Create Release
|
||||
id: create_release
|
||||
|
@ -180,11 +223,12 @@ jobs:
|
|||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: v${{ steps.set-release-version.outputs.release-version }}
|
||||
tag_name: v${{ steps.set-versions.outputs.release-version }}
|
||||
commitish: ${{ github.ref_name }}
|
||||
release_name: Version ${{ steps.set-release-version.outputs.release-version }}
|
||||
release_name: Version ${{ steps.set-versions.outputs.release-version }}
|
||||
draft: true
|
||||
prerelease: false
|
||||
body_path: release-notes.txt
|
||||
|
||||
- name: Upload Release Asset
|
||||
id: upload-release-asset
|
||||
|
@ -193,6 +237,6 @@ jobs:
|
|||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: javaagent/build/libs/opentelemetry-javaagent-${{ steps.set-release-version.outputs.release-version }}.jar
|
||||
asset_path: javaagent/build/libs/opentelemetry-javaagent-${{ steps.set-versions.outputs.release-version }}.jar
|
||||
asset_name: opentelemetry-javaagent.jar
|
||||
asset_content_type: application/java-archive
|
||||
|
|
123
CHANGELOG.md
123
CHANGELOG.md
|
@ -18,57 +18,98 @@
|
|||
[#5242](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5242),
|
||||
[#5241](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5241),
|
||||
[#5239](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5239))
|
||||
- Use RPC attributes from spec for AWS SDK ([#5166](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5166))
|
||||
- SdkTracerProvider auto closed as separate Context Bean ([#5124](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5124)) (#5125)
|
||||
- Support redisson 3.16.8+ ([#5201](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5201))
|
||||
- Support AWS SDK v1 request object subclasses. ([#5231](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5231))
|
||||
- Remove slim artifact ([#5251](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5251))
|
||||
- kotlinx-coroutines-reactor context propagation ([#5196](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5196))
|
||||
- Log a warning whenever GlobalOpenTelemetry.set() is called ([#5264](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5264))
|
||||
- Use `http.route` in `HttpServerMetrics` ([#5266](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5266))
|
||||
- Use VirtualField for associating netty listener with wrapper ([#5282](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5282))
|
||||
- Add code attributes to spring-scheduling spans ([#5306](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5306))
|
||||
- Propagate context into redisson async callback ([#5313](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5313))
|
||||
- Add max measurements to Micrometer Timer & DistributionSummary ([#5303](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5303))
|
||||
- Make it possible to configure base time unit used by the Micrometer bridge ([#5304](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5304))
|
||||
- Make HttpClientMetrics report low cardinality metrics ([#5319](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5319))
|
||||
- Implement NamingConvention support in Micrometer bridge ([#5328](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5328))
|
||||
- Add net.peer.name and net.peer.port attributes for grpc client span ([#5324](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5324))
|
||||
- Add jaeger remote sampler to agent ([#5346](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5346))
|
||||
- Weak cache optimization ([#5344](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5344))
|
||||
- Use RPC attributes from spec for AWS SDK
|
||||
([#5166](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5166))
|
||||
- SdkTracerProvider auto closed as separate Context Bean
|
||||
([#5124](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5124)) (#5125)
|
||||
- Support redisson 3.16.8+
|
||||
([#5201](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5201))
|
||||
- Support AWS SDK v1 request object subclasses.
|
||||
([#5231](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5231))
|
||||
- Remove slim artifact
|
||||
([#5251](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5251))
|
||||
- kotlinx-coroutines-reactor context propagation
|
||||
([#5196](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5196))
|
||||
- Log a warning whenever GlobalOpenTelemetry.set() is called
|
||||
([#5264](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5264))
|
||||
- Use `http.route` in `HttpServerMetrics`
|
||||
([#5266](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5266))
|
||||
- Use VirtualField for associating netty listener with wrapper
|
||||
([#5282](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5282))
|
||||
- Add code attributes to spring-scheduling spans
|
||||
([#5306](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5306))
|
||||
- Propagate context into redisson async callback
|
||||
([#5313](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5313))
|
||||
- Add max measurements to Micrometer Timer & DistributionSummary
|
||||
([#5303](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5303))
|
||||
- Make it possible to configure base time unit used by the Micrometer bridge
|
||||
([#5304](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5304))
|
||||
- Make HttpClientMetrics report low cardinality metrics
|
||||
([#5319](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5319))
|
||||
- Implement NamingConvention support in Micrometer bridge
|
||||
([#5328](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5328))
|
||||
- Add net.peer.name and net.peer.port attributes for grpc client span
|
||||
([#5324](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5324))
|
||||
- Add jaeger remote sampler to agent
|
||||
([#5346](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5346))
|
||||
- Weak cache optimization
|
||||
([#5344](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5344))
|
||||
|
||||
### 🛠️ Bug fixes
|
||||
|
||||
- Several micrometer instrumentation fixes ([#5118](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5118))
|
||||
- Fix serialisation exception on default lambda events ([#4724](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/4724))
|
||||
- NoSuchMethodError when using agent and modules (JPMS) ([#5169](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5169))
|
||||
- Spring boot cloud gateway, context propagation broken ([#5188](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5188))
|
||||
- Akka http server span names are always akka.request #3478 ([#5150](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5150))
|
||||
- Recover from duplicate class definition errors ([#5185](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5185))
|
||||
- Fix serialization for quartz JobExecutionContext ([#5263](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5263))
|
||||
- End jedis span when operation actually ends ([#5256](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5256))
|
||||
- Enable oshi ProcessMetrics in javaagent ([#5281](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5281))
|
||||
- Add missing return type matchers to the executor instrumentation ([#5294](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5294))
|
||||
- Fix triggering of DNS lookup ([#5297](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5297))
|
||||
- Avoid potential for reverse name lookup ([#5305](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5305))
|
||||
- Fix WeakConcurrentMap memory leak ([#5316](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5316))
|
||||
- AWS Lambda instrumentation requires jackson and lambda-events on the classpath ([#5326](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5326))
|
||||
- Several micrometer instrumentation fixes
|
||||
([#5118](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5118))
|
||||
- Fix serialisation exception on default lambda events
|
||||
([#4724](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/4724))
|
||||
- NoSuchMethodError when using agent and modules (JPMS)
|
||||
([#5169](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5169))
|
||||
- Spring boot cloud gateway, context propagation broken
|
||||
([#5188](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5188))
|
||||
- Akka http server span names are always akka.request #3478
|
||||
([#5150](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5150))
|
||||
- Recover from duplicate class definition errors
|
||||
([#5185](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5185))
|
||||
- Fix serialization for quartz JobExecutionContext
|
||||
([#5263](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5263))
|
||||
- End jedis span when operation actually ends
|
||||
([#5256](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5256))
|
||||
- Enable oshi ProcessMetrics in javaagent
|
||||
([#5281](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5281))
|
||||
- Add missing return type matchers to the executor instrumentation
|
||||
([#5294](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5294))
|
||||
- Fix triggering of DNS lookup
|
||||
([#5297](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5297))
|
||||
- Avoid potential for reverse name lookup
|
||||
([#5305](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5305))
|
||||
- Fix WeakConcurrentMap memory leak
|
||||
([#5316](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5316))
|
||||
- AWS Lambda instrumentation requires jackson and lambda-events on the classpath
|
||||
([#5326](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5326))
|
||||
|
||||
### 🧰 Tooling
|
||||
|
||||
- Convert InstrumentationTestRunner from interface to abstract class ([#5112](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5112))
|
||||
- Parameterize VirtualField field type ([#5165](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5165))
|
||||
- Remove old TraceUtils and use InstrumentationTestRunner#run*Span() (almost) everywhere ([#5160](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5160))
|
||||
- Remove deprecated tracer API ([#5175](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5175))
|
||||
- Remove HttpServerTest#extraAttributes() method ([#5176](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5176))
|
||||
- Rename ServerSpanNaming to HttpRouteHolder ([#5211](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5211))
|
||||
- Don't run testLatestDeps on alpha/beta/rc versions ([#5258](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5258))
|
||||
- Convert InstrumentationTestRunner from interface to abstract class
|
||||
([#5112](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5112))
|
||||
- Parameterize VirtualField field type
|
||||
([#5165](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5165))
|
||||
- Remove old TraceUtils and use InstrumentationTestRunner#run*Span() (almost) everywhere
|
||||
([#5160](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5160))
|
||||
- Remove deprecated tracer API
|
||||
([#5175](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5175))
|
||||
- Remove HttpServerTest#extraAttributes() method
|
||||
([#5176](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5176))
|
||||
- Rename ServerSpanNaming to HttpRouteHolder
|
||||
([#5211](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5211))
|
||||
- Don't run testLatestDeps on alpha/beta/rc versions
|
||||
([#5258](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5258))
|
||||
- Refactor HTTP attributes extractors to use composition over inheritance
|
||||
([#5030](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5030),
|
||||
[#5194](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5194)
|
||||
[#5267](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5267))
|
||||
- Refactor AttributesExtractor so that it extracts route from Context ([#5288](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5288))
|
||||
- Publish gradle-plugins to Maven Central ([#5333](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5333))
|
||||
- Refactor AttributesExtractor so that it extracts route from Context
|
||||
([#5288](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5288))
|
||||
- Publish gradle-plugins to Maven Central
|
||||
([#5333](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5333))
|
||||
|
||||
## Version 1.10.1 - 2022-01-27
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
git log --reverse --pretty=format:"- %s" "$1"..HEAD \
|
||||
| sed -r 's,\(#([0-9]+)\),([#\1](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/\1)),'
|
||||
| sed -r 's,\(#([0-9]+)\),\n ([#\1](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/\1)),'
|
||||
echo
|
||||
|
|
Loading…
Reference in New Issue