diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 999028f8..68ff57e7 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -6,6 +6,9 @@ updates: - "/processor" schedule: interval: "weekly" + labels: + - "dependencies" + - "java" groups: # Group all library dependencies together (excluding plugins) dependencies: diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 00000000..7a8a287f --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,59 @@ +changelog: + exclude: + labels: + - ignore-for-release + - pipeline + authors: + # Exclude bots from being mentioned as contributors + - dependabot + - dependabot[bot] + + categories: + - title: 🚀 Features + labels: + - enhancement + + - title: 🐛 Bug Fixes + labels: + - bug + + - title: 📚 Documentation + labels: + - documentation + + - title: 🔧 Maintenance + labels: + - maintenance + - refactor + + - title: Other Changes + labels: + - "*" + +footer: | + --- + + ## 📦 Maven Central + + This release is available on Maven Central: + + **Core Module:** + ```xml + + io.github.java-helpers + simple-builders-core + $RESOLVED_VERSION + + ``` + 🔗 [View on Maven Central](https://central.sonatype.com/artifact/io.github.java-helpers/simple-builders-core/$RESOLVED_VERSION) + + **Processor Module:** + ```xml + + io.github.java-helpers + simple-builders-processor + $RESOLVED_VERSION + provided + + ``` + 🔗 [View on Maven Central](https://central.sonatype.com/artifact/io.github.java-helpers/simple-builders-processor/$RESOLVED_VERSION) diff --git a/.github/workflows/maven-central-release.yml b/.github/workflows/maven-central-release.yml index 1d60e598..83285e49 100644 --- a/.github/workflows/maven-central-release.yml +++ b/.github/workflows/maven-central-release.yml @@ -133,10 +133,28 @@ jobs: PRERELEASE_FLAG="--prerelease" fi - # Create draft release with auto-generated notes + # Generate release notes and replace version placeholder + gh api repos/java-helpers/simple-builders/releases/generate-notes \ + -f tag_name="v$VERSION" \ + -f target_commitish="main" \ + --jq '.body' > release_notes.md + + # Replace version placeholder in generated notes + sed -i "s/\$RESOLVED_VERSION/$VERSION/g" release_notes.md + + # Create draft release with custom notes and attach artifacts gh release create "v$VERSION" \ --title "Release $VERSION" \ --draft \ - --generate-notes \ - $PRERELEASE_FLAG + --notes-file release_notes.md \ + $PRERELEASE_FLAG \ + core/target/simple-builders-core-${VERSION}.jar \ + core/target/simple-builders-core-${VERSION}-sources.jar \ + core/target/simple-builders-core-${VERSION}-javadoc.jar \ + processor/target/simple-builders-processor-${VERSION}.jar \ + processor/target/simple-builders-processor-${VERSION}-sources.jar \ + processor/target/simple-builders-processor-${VERSION}-javadoc.jar + + # Clean up + rm -f release_notes.md fi