diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 0000000..89abe46 --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,23 @@ +name-template: 'v$NEXT_PATCH_VERSION' +tag-template: 'v$NEXT_PATCH_VERSION' +categories: + - title: '๐Ÿš€ Features' + labels: + - 'enhancement' + + - title: '๐Ÿ› Bug Fixes' + labels: + - 'bug' + + - title: '๐Ÿงพ Documentation' + labels: + - 'type:documentation' + + - title: '๐Ÿงช Tests' + labels: + - 'tests' + +change-template: '- $TITLE @$AUTHOR (#$NUMBER)' +template: | + ## Changes + $CHANGES \ No newline at end of file diff --git a/.github/workflows/gradle-build.yml b/.github/workflows/gradle-build.yml new file mode 100644 index 0000000..66aa3e7 --- /dev/null +++ b/.github/workflows/gradle-build.yml @@ -0,0 +1,30 @@ +name: Java CI with Gradle + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "*" ] + +permissions: + contents: read + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 8 + uses: actions/setup-java@v3 + with: + java-version: '8' + distribution: 'temurin' + - name: Validate Gradle wrapper + uses: gradle/wrapper-validation-action@v1 + - name: Add permission + run: chmod +x ./gradlew + - name: Build with Gradle + uses: gradle/gradle-build-action@v2 + with: + arguments: build diff --git a/.github/workflows/gradle-publish.yml b/.github/workflows/gradle-publish.yml new file mode 100644 index 0000000..829c298 --- /dev/null +++ b/.github/workflows/gradle-publish.yml @@ -0,0 +1,26 @@ +name: Publish package to the Maven Central Repository +on: + release: + types: [created] +jobs: + publish: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Set up Java + uses: actions/setup-java@v3 + with: + java-version: '8' + # distribution: 'adopt' + distribution: 'temurin' + - name: Validate Gradle wrapper + uses: gradle/wrapper-validation-action@v1 + - name: Add permission + run: chmod +x ./gradlew + - name: Publish package + uses: gradle/gradle-build-action@v2 + with: + arguments: publish + env: + MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/label-verifier.yml b/.github/workflows/label-verifier.yml new file mode 100644 index 0000000..0406a1f --- /dev/null +++ b/.github/workflows/label-verifier.yml @@ -0,0 +1,13 @@ +name: "Verify type labels" + +on: + pull_request: + types: [opened, labeled, unlabeled, synchronize] + +jobs: + triage: + runs-on: ubuntu-latest + steps: + - uses: zwaldowski/match-label-action@v4 + with: + allowed_multiple: enhancement, bug, documentation, tests diff --git a/.github/workflows/release-draft.yml b/.github/workflows/release-draft.yml new file mode 100644 index 0000000..7c44793 --- /dev/null +++ b/.github/workflows/release-draft.yml @@ -0,0 +1,13 @@ +name: "Create draft release" + +on: + push: + branches: [ "main" ] + +jobs: + update_draft_release: + runs-on: ubuntu-latest + steps: + - uses: release-drafter/release-drafter@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 46c47ce..ec26984 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -33,6 +33,16 @@ nexusPublishing { } publishing { + repositories { + maven { + name = "OSSRH" + url = uri("https://oss.sonatype.org/service/local/staging/deploy/maven2/") + credentials { + username = System.getenv("MAVEN_USERNAME") + password = System.getenv("MAVEN_PASSWORD") + } + } + } publications { create("maven") { suppressAllPomMetadataWarnings()