Skip to content

Added alert event example to v2 POST event endpoint, and notifications are now available for v2 POST events #1897

Added alert event example to v2 POST event endpoint, and notifications are now available for v2 POST events

Added alert event example to v2 POST event endpoint, and notifications are now available for v2 POST events #1897

Workflow file for this run

name: Release
permissions:
contents: write
pull-requests: write
env:
GIT_AUTHOR_EMAIL: "packages@datadoghq.com"
GIT_AUTHOR_NAME: "ci.datadog-api-spec"
on:
pull_request:
types: [closed]
branches:
- master
jobs:
create_release:
name: Create release
runs-on: ubuntu-latest
if: github.event.pull_request.merged == true && startsWith(github.head_ref, 'release/')
steps:
- name: Get GitHub App token
id: get_token
uses: actions/create-github-app-token@c1a285145b9d317df6ced56c09f525b5c2b6f755 #v1.11.1
with:
app-id: ${{ secrets.PIPELINE_GITHUB_APP_ID }}
private-key: ${{ secrets.PIPELINE_GITHUB_APP_PRIVATE_KEY }}
- name: Checkout ${{ github.event.pull_request.base.ref }}
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
token: ${{ steps.get_token.outputs.token }}
ref: ${{ github.event.pull_request.base.ref }}
fetch-depth: 0
- name: Release packages
env:
HEAD_SHA: ${{ github.event.pull_request.merge_commit_sha }}
BASE_SHA: ${{ github.event.pull_request.base.sha }}
GH_TOKEN: ${{ steps.get_token.outputs.token }}
shell: bash
run: |
CHANGED_POM_XML_FILES=$(git diff --diff-filter=MACR --name-only $BASE_SHA...$HEAD_SHA \
| grep -E 'pom\.xml$' \
| xargs dirname \
| sort \
| uniq)
declare -A versions
for package in $CHANGED_POM_XML_FILES; do
base_version=$(git show $BASE_SHA:$package/pom.xml | grep -E '<version>.*</version>' | head -n 1 | sed -E 's/.*<version>(.*)<\/version>.*/\1/')
head_version=$(git show $HEAD_SHA:$package/pom.xml | grep -E '<version>.*</version>' | head -n 1 | sed -E 's/.*<version>(.*)<\/version>.*/\1/')
if [ "$base_version" != "$head_version" ]; then
versions[$package]=$head_version
fi
done
for package in "${!versions[@]}"; do
echo "Releasing $package at version ${versions[$package]}"
# Build the tag name
if [[ "$package" == "." ]]; then
# If the package is the root, use the version as the tag name
tag_name="datadog-api-client-${versions[$package]}"
else
# If the package is not the root, use the package name and version as the tag name
tag_name="$package/${versions[$package]}"
fi
# Get the changelog entries since last release
# TODO: Implement this
# changelog_content=$(git diff $BASE_REF...$HEAD_REF -- $package/CHANGELOG.md | grep -A 1000 "^+##" | grep -v "^+++" | sed 's/^+//')
is_prerelease=$(echo "${versions[$package]}" | grep -qvE '^[0-9]+\.[0-9]+\.[0-9]+$' && echo true || echo false)
# Create the tag
gh api repos/{owner}/{repo}/git/refs \
-f ref="refs/tags/$tag_name" \
-f sha=$HEAD_SHA
# Create the release
gh api repos/{owner}/{repo}/releases --input - << EOF
{
"tag_name": "$tag_name",
"name": "$tag_name",
"body": "See $package/CHANGELOG.md for details",
"prerelease": $is_prerelease
}
EOF
done