Skip to content

Release

Release #28

Workflow file for this run

name: Release
on:
workflow_dispatch:
jobs:
release:
runs-on: ubuntu-latest
permissions: write-all
outputs:
version: ${{ steps.create-github-release.outputs.version }}
steps:
- uses: actions/checkout@v4
- name: Set environment variables
run: |
version=$(.github/scripts/get-version.sh)
echo "VERSION=$version" >> $GITHUB_ENV
- name: Generate release notes
run: |
# the complex perl regex is needed because markdown docs render newlines as soft wraps
# while release notes render them as line breaks
sed -n "0,/^## Version $VERSION /d;/^## Version /q;p" CHANGELOG.md \
| perl -0pe 's/(?<!\n)\n *(?!\n)(?![-*] )(?![1-9]+\. )/ /g' \
> /tmp/release-notes.txt
- name: Download artifact from maven central
run: |
# the artifact can take time to show up on maven central so keep retrying
until curl --silent \
--show-error \
--fail \
-o applicationinsights-agent-$VERSION.jar \
https://repo1.maven.org/maven2/com/microsoft/azure/applicationinsights-agent/$VERSION/applicationinsights-agent-$VERSION.jar
do
sleep 60
done
- id: create-github-release
name: Create GitHub release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
if [[ $VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
opt_ga=" (GA)"
else
opt_prerelease="--prerelease"
fi
gh release create --target main \
--title "Application Insights Java $VERSION$opt_ga" \
--notes-file /tmp/release-notes.txt \
$opt_prerelease \
$VERSION \
applicationinsights-agent-$VERSION.jar
echo "version=$VERSION" >> ${GITHUB_OUTPUT}
create-docs-pull-request:
permissions: write-all
needs:
- release
uses: ./.github/workflows/reusable-create-docs-pull-request.yml
with:
version: ${{ needs.release.outputs.version }}
secrets:
AARON_MAXWELL_TOKEN: ${{ secrets.AARON_MAXWELL_TOKEN }}
create-version-bump-pull-request:
permissions: write-all
needs:
- release
uses: ./.github/workflows/reusable-create-version-bump-pull-request.yml
with:
version: ${{ needs.release.outputs.version }}