|
@@ -36,13 +36,18 @@ jobs:
|
|
|
- examples
|
|
|
runs-on: ubuntu-latest
|
|
|
steps:
|
|
|
+ - run: |
|
|
|
+ if [[ $GITHUB_REF_NAME != release/* ]]; then
|
|
|
+ echo the release workflow should only be run against release branches
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+
|
|
|
- uses: actions/checkout@v3
|
|
|
with:
|
|
|
# tags are needed for the generate-release-contributors.sh script
|
|
|
fetch-depth: 0
|
|
|
|
|
|
- - name: Set up JDK for running Gradle
|
|
|
- uses: actions/setup-java@v3
|
|
|
+ - uses: actions/setup-java@v3
|
|
|
with:
|
|
|
distribution: temurin
|
|
|
java-version: 17
|
|
@@ -73,8 +78,8 @@ jobs:
|
|
|
|
|
|
- name: Set environment variables
|
|
|
run: |
|
|
|
- version=$(grep -Eo "[0-9]+.[0-9]+.[0-9]+" version.gradle.kts)
|
|
|
- if [[ $version =~ ([0-9]+).([0-9]+).([0-9]+) ]]; then
|
|
|
+ version=$(.github/scripts/get-version.sh)
|
|
|
+ if [[ $version =~ ([0-9]+)\.([0-9]+)\.([0-9]+) ]]; then
|
|
|
major="${BASH_REMATCH[1]}"
|
|
|
minor="${BASH_REMATCH[2]}"
|
|
|
patch="${BASH_REMATCH[3]}"
|
|
@@ -98,7 +103,7 @@ jobs:
|
|
|
|
|
|
- name: Generate release notes
|
|
|
env:
|
|
|
- GITHUB_TOKEN: ${{ secrets.BOT_TOKEN }}
|
|
|
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
run: |
|
|
|
# conditional blocks not indented because of the heredoc
|
|
|
if [[ $VERSION == *.0 ]]; then
|
|
@@ -115,14 +120,9 @@ jobs:
|
|
|
EOF
|
|
|
fi
|
|
|
|
|
|
- # the last complex regex is needed because markdown docs render newlines as soft wraps
|
|
|
+ # the complex perl regex is needed because markdown docs render newlines as soft wraps
|
|
|
# while release notes render them as line breaks
|
|
|
- sed -n "/^## Version $VERSION/,/^## Version /p" CHANGELOG.md \
|
|
|
- | tail -n +2 \
|
|
|
- | head -n -1 \
|
|
|
- | perl -0pe 's/^\n+//g' \
|
|
|
- | perl -0pe 's/\n+$/\n/g' \
|
|
|
- | sed -r "s,\[#([0-9]+)]\(https://github.com/$GITHUB_REPOSITORY/(pull|issues)/[0-9]+\),#\1," \
|
|
|
+ sed -n "0,/^## Version $VERSION/d;/^## Version /q;p" CHANGELOG.md \
|
|
|
| perl -0pe 's/(?<!\n)\n *(?!\n)(?![-*] )(?![1-9]+\. )/ /g' \
|
|
|
>> release-notes.txt
|
|
|
|
|
@@ -140,9 +140,9 @@ jobs:
|
|
|
|
|
|
- name: Create GitHub release
|
|
|
env:
|
|
|
- GITHUB_TOKEN: ${{ secrets.BOT_TOKEN }}
|
|
|
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
run: |
|
|
|
- cp javaagent/build/libs/opentelemetry-javaagent-$VERSION.jar opentelemetry-javaagent.jar
|
|
|
+ cp javaagent/build/libs/opentelemetry-javaagent-${VERSION}.jar opentelemetry-javaagent.jar
|
|
|
gh release create --target $GITHUB_REF_NAME \
|
|
|
--title "Version $VERSION" \
|
|
|
--notes-file release-notes.txt \
|
|
@@ -152,22 +152,21 @@ jobs:
|
|
|
|
|
|
- name: Update the change log with the release date
|
|
|
env:
|
|
|
- GITHUB_TOKEN: ${{ secrets.BOT_TOKEN }}
|
|
|
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
run: |
|
|
|
date=$(gh release view v$VERSION --json publishedAt --jq .publishedAt | sed 's/T.*//')
|
|
|
- sed -ri "s/## Version $VERSION .*/## Version $VERSION ($date)/" CHANGELOG.md
|
|
|
+ sed -Ei "s/## Version $VERSION .*/## Version $VERSION ($date)/" CHANGELOG.md
|
|
|
|
|
|
- name: Set git user
|
|
|
- run: |
|
|
|
- git config user.name opentelemetry-java-bot
|
|
|
- git config user.email 97938252+opentelemetry-java-bot@users.noreply.github.com
|
|
|
+ run: .github/scripts/set-git-user.sh
|
|
|
|
|
|
- name: Create pull request against the release branch
|
|
|
env:
|
|
|
+ # not using the default GITHUB_TOKEN because pull requests generated by it do not run any workflows
|
|
|
GITHUB_TOKEN: ${{ secrets.BOT_TOKEN }}
|
|
|
run: |
|
|
|
message="Add the release date for $VERSION to the change log"
|
|
|
- branch=add-release-date-for-$VERSION
|
|
|
+ branch="add-release-date-for-${VERSION}"
|
|
|
|
|
|
git commit -a -m "$message"
|
|
|
git push origin HEAD:$branch
|
|
@@ -186,16 +185,14 @@ jobs:
|
|
|
run: |
|
|
|
git remote add upstream https://github.com/open-telemetry/opentelemetry-operator.git
|
|
|
git fetch upstream
|
|
|
- git checkout -b update-opentelemetry-javaagent-to-$VERSION upstream/main
|
|
|
+ git checkout -b update-opentelemetry-javaagent-to-${VERSION} upstream/main
|
|
|
|
|
|
- name: Update version
|
|
|
run: |
|
|
|
echo $VERSION > autoinstrumentation/java/version.txt
|
|
|
|
|
|
- name: Set git user
|
|
|
- run: |
|
|
|
- git config user.name opentelemetry-java-bot
|
|
|
- git config user.email 97938252+opentelemetry-java-bot@users.noreply.github.com
|
|
|
+ run: .github/scripts/set-git-user.sh
|
|
|
|
|
|
- name: Create pull request against opentelemetry-operator
|
|
|
env:
|
|
@@ -210,7 +207,7 @@ jobs:
|
|
|
# repository if you set up a tracking branch
|
|
|
|
|
|
git commit -a -m "$message"
|
|
|
- git push --set-upstream origin update-opentelemetry-javaagent-to-$VERSION
|
|
|
+ git push --set-upstream origin update-opentelemetry-javaagent-to-${VERSION}
|
|
|
gh pr create --title "$message" \
|
|
|
--body "$body" \
|
|
|
--repo open-telemetry/opentelemetry-operator \
|