Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
33 changes: 12 additions & 21 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Configuration for Release Drafter: https://github.com/release-drafter/release-drafter
name-template: $NEXT_PATCH_VERSION
tag-template: $NEXT_PATCH_VERSION
name-template: v$RESOLVED_VERSION
tag-template: v$RESOLVED_VERSION

template: |
$CHANGES
Expand All @@ -10,6 +10,16 @@ template: |
<!-- OPENAPI_DIFF -->

categories:
- type: version-resolver
semver-increment: major
when:
label: breaking
- type: version-resolver
semver-increment: minor
when:
label: enhancement
- type: version-resolver
semver-increment: patch
- title: 🚀 New features and improvements
labels:
- enhancement
Expand Down Expand Up @@ -43,22 +53,3 @@ autolabeler:
- label: documentation
files:
- "*.md"

version-resolver:
major:
labels:
- major
- breaking
minor:
labels:
- minor
- enhancement
patch:
labels:
- patch
- bug
- chore
- maintenance
- dependencies
- documentation
default: patch
45 changes: 45 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,48 @@ jobs:
run: mvn --batch-mode deploy -DaltDeploymentRepository=github::default::https://maven.pkg.github.com/${{ github.repository }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
release:
needs: publish
runs-on: blacksmith-2vcpu-ubuntu-2404
timeout-minutes: 5
permissions:
contents: write
steps:
- name: Checkout Repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Fetch annotated tag message
run: git fetch --force origin "refs/tags/${GITHUB_REF_NAME}:refs/tags/${GITHUB_REF_NAME}"
- name: Publish GitHub Release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
TAG_REF="refs/tags/${GITHUB_REF_NAME}"
HIGHLIGHTS=""
if [ "$(git cat-file -t "$TAG_REF" 2>/dev/null || true)" = "tag" ]; then
HIGHLIGHTS=$(git for-each-ref "$TAG_REF" --format='%(contents)' | sed '/^-----BEGIN PGP SIGNATURE-----/,$d')
if [ -z "$(printf '%s' "$HIGHLIGHTS" | tr -d '[:space:]')" ]; then
HIGHLIGHTS=""
fi
fi

RELEASE_ID=$(gh api "repos/${GITHUB_REPOSITORY}/releases?per_page=100" --jq 'map(select(.draft))[0].id // empty')
if [ -n "$RELEASE_ID" ]; then
BODY=$(gh api "repos/${GITHUB_REPOSITORY}/releases/${RELEASE_ID}" --jq '.body // ""')
if [ -n "$HIGHLIGHTS" ]; then
BODY=$(printf '## Highlights\n\n%s\n\n%s' "$HIGHLIGHTS" "$BODY")
fi
jq -n \
--arg tag_name "$GITHUB_REF_NAME" \
--arg name "$GITHUB_REF_NAME" \
--arg body "$BODY" \
'{tag_name: $tag_name, name: $name, body: $body, draft: false, make_latest: "true"}' \
> /tmp/release.json
gh api --method PATCH "repos/${GITHUB_REPOSITORY}/releases/${RELEASE_ID}" --input /tmp/release.json
elif [ -n "$HIGHLIGHTS" ]; then
gh release create "$GITHUB_REF_NAME" --verify-tag --generate-notes \
--title "$GITHUB_REF_NAME" --latest \
--notes "$(printf '## Highlights\n\n%s' "$HIGHLIGHTS")"
else
gh release create "$GITHUB_REF_NAME" --verify-tag --generate-notes \
--title "$GITHUB_REF_NAME" --latest
fi
Loading
Loading