From 701158706769c645869437d9d14e57be741b02e3 Mon Sep 17 00:00:00 2001 From: "Justin \"J.R.\" Hill" Date: Thu, 12 Oct 2023 15:26:46 -0700 Subject: [PATCH 1/2] chore(java-sdk): automate releases --- .../.github/workflows/main.yml.mustache | 36 +++++++++++++++++-- .../java/template/build.gradle.mustache | 1 + .../java/template/publish.gradle.mustache | 19 +++++----- 3 files changed, 45 insertions(+), 11 deletions(-) diff --git a/config/clients/java/template/.github/workflows/main.yml.mustache b/config/clients/java/template/.github/workflows/main.yml.mustache index 82d23bcb..ebe3cee8 100644 --- a/config/clients/java/template/.github/workflows/main.yml.mustache +++ b/config/clients/java/template/.github/workflows/main.yml.mustache @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - java: [ '11', '17', '20' ] + java: [ '11', '17', '21' ] steps: - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.2 - name: Set up JDK @@ -28,7 +28,7 @@ jobs: run: | ./gradlew build - publish: + publish-maven-central: runs-on: ubuntu-latest permissions: contents: read @@ -51,10 +51,40 @@ jobs: - name: Publish package uses: gradle/gradle-build-action@ef76a971e2fa3f867b617efd72f2fbd72cf6f8bc # v2.8.0 with: - arguments: publish + # Tasks created by https://github.com/gradle-nexus/publish-plugin + arguments: publishpublishToSonatype closeAndReleaseSonatypeStagingRepository env: MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} + ORG_GRADLE_PROJECT_SIGNINGKEY: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGKEY }} + ORG_GRADLE_PROJECT_SIGNINGPASSWORD: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGPASSWORD }} + + publish-github-packages: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + if: startsWith(github.ref, 'refs/tags/v') + needs: [test] + + steps: + - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.2 + + - name: Set up JDK + uses: actions/setup-java@cd89f46ac9d01407894225f350157564c9c7cee2 # v3.12.0 + with: + java-version: 11 + distribution: 'temurin' + + - name: Validate Gradle wrapper + uses: gradle/wrapper-validation-action@56b90f209b02bf6d1deae490e9ef18b21a389cd4 # v1.1.0 + + - name: Publish package + uses: gradle/gradle-build-action@ef76a971e2fa3f867b617efd72f2fbd72cf6f8bc # v2.8.0 + with: + # Tasks created by https://docs.gradle.org/current/userguide/publishing_maven.html + arguments: publishAllPublicationsToGitHubPackagesRepository + env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} ORG_GRADLE_PROJECT_SIGNINGKEY: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGKEY }} ORG_GRADLE_PROJECT_SIGNINGPASSWORD: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGPASSWORD }} diff --git a/config/clients/java/template/build.gradle.mustache b/config/clients/java/template/build.gradle.mustache index a575e2b3..c0fd5c14 100644 --- a/config/clients/java/template/build.gradle.mustache +++ b/config/clients/java/template/build.gradle.mustache @@ -13,6 +13,7 @@ plugins { // Publishing id 'maven-publish' id 'signing' + id 'io.github.gradle-nexus.publish-plugin' version '1.3.0' } apply from: 'publish.gradle' diff --git a/config/clients/java/template/publish.gradle.mustache b/config/clients/java/template/publish.gradle.mustache index b6c57ffe..3046c90f 100644 --- a/config/clients/java/template/publish.gradle.mustache +++ b/config/clients/java/template/publish.gradle.mustache @@ -30,14 +30,6 @@ publishing { } } repositories { - maven { - name = 'SonatypeOSSRH' // AKA: "Maven Central" - url = 'https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/' - credentials { - username = System.getenv('MAVEN_USERNAME') - password = System.getenv('MAVEN_PASSWORD') - } - } maven { name = 'GitHubPackages' url = 'https://maven.pkg.github.com/{{gitUserId}}/{{gitRepoId}}' @@ -55,3 +47,14 @@ signing { useInMemoryPgpKeys(signingKey, signingPassword) sign publishing.publications.maven } + +nexusPublishing { + repositories { + sonatype { + nexusUrl.set(uri('https://s01.oss.sonatype.org/service/local/')) + snapshotRepositoryUrl.set(uri('https://s01.oss.sonatype.org/content/repositories/snapshots/')) + username.set(System.getenv('MAVEN_USERNAME')) + password.set(System.getenv('MAVEN_PASSWORD')) + } + } +} From 02d1c0582e2355fda136e03cf4e9acda178ac4de Mon Sep 17 00:00:00 2001 From: "Justin \"J.R.\" Hill" Date: Fri, 13 Oct 2023 09:22:18 -0700 Subject: [PATCH 2/2] chore(java-sdk): bump version to 0.2.1 --- config/clients/java/CHANGELOG.md.mustache | 6 ++++++ config/clients/java/config.overrides.json | 2 +- .../java/template/.github/workflows/main.yml.mustache | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/config/clients/java/CHANGELOG.md.mustache b/config/clients/java/CHANGELOG.md.mustache index 7c7d9c9f..df0b5d03 100644 --- a/config/clients/java/CHANGELOG.md.mustache +++ b/config/clients/java/CHANGELOG.md.mustache @@ -1,5 +1,11 @@ # Changelog +## v0.2.1 + +### [0.2.1](https://{{gitHost}}/{{gitUserId}}/{{gitRepoId}}/compare/v0.2.0...v0.2.1) (2023-10-13) + +No changes, this patch release is just to test release automation. + ## v0.2.0 ### [0.2.0](https://{{gitHost}}/{{gitUserId}}/{{gitRepoId}}/compare/v0.1.0...v0.2.0) (2023-10-11) diff --git a/config/clients/java/config.overrides.json b/config/clients/java/config.overrides.json index ca3643a8..b3c2b2ec 100644 --- a/config/clients/java/config.overrides.json +++ b/config/clients/java/config.overrides.json @@ -3,7 +3,7 @@ "gitRepoId": "java-sdk", "artifactId": "openfga-sdk", "groupId": "dev.openfga", - "packageVersion": "0.2.0", + "packageVersion": "0.2.1", "apiPackage": "dev.openfga.sdk.api", "authPackage": "dev.openfga.sdk.api.auth", "clientPackage": "dev.openfga.sdk.api.client", diff --git a/config/clients/java/template/.github/workflows/main.yml.mustache b/config/clients/java/template/.github/workflows/main.yml.mustache index ebe3cee8..40d701d1 100644 --- a/config/clients/java/template/.github/workflows/main.yml.mustache +++ b/config/clients/java/template/.github/workflows/main.yml.mustache @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - java: [ '11', '17', '21' ] + java: [ '11', '17', '20' ] steps: - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.2 - name: Set up JDK @@ -92,7 +92,7 @@ jobs: create-release: runs-on: ubuntu-latest if: startsWith(github.ref, 'refs/tags/v') - needs: publish + needs: [publish-maven-central, publish-github-packages] steps: - uses: actions/checkout@v3