diff --git a/.github/workflows/release-serde-api.yml b/.github/workflows/release-serde-api.yml index e19a6e38d..b2524f3db 100644 --- a/.github/workflows/release-serde-api.yml +++ b/.github/workflows/release-serde-api.yml @@ -1,6 +1,13 @@ name: "Infra: Release: Serde API" -on: workflow_dispatch +on: + workflow_dispatch: + inputs: + version: + required: true + type: string + description: Serde API version to release. Must not be a SNAPSHOT. + default: 1.x.0 permissions: contents: read @@ -26,16 +33,14 @@ jobs: distribution: 'zulu' cache: 'gradle' - - id: install-secret-key - name: Install GPG secret key - run: | - cat <(echo -e "${{ secrets.GPG_PRIVATE_KEY }}") | gpg --batch --import - - name: Publish to Maven Central - # TODO fix me next publish, I'm broken :( + env: + GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} + GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} + NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }} + NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }} run: | - mvn source:jar javadoc:jar package gpg:sign \ - -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }} \ - -Dserver.username=${{ secrets.NEXUS_USERNAME }} \ - -Dserver.password=${{ secrets.NEXUS_PASSWORD }} \ - central-publishing:publish -pl serde-api -s settings.xml + ./gradlew :serde-api:publish \ + :serde-api:closeAndReleaseSonatypeStagingRepository \ + -Prelease=true \ + -Pversion=${{ inputs.version }} diff --git a/build.gradle b/build.gradle index deb45bcf0..202bcd577 100644 --- a/build.gradle +++ b/build.gradle @@ -52,11 +52,11 @@ if (release) { nexusPublishing { repositories { sonatype { - nexusUrl = uri("https://s01.oss.sonatype.org/service/local/") - snapshotRepositoryUrl = uri("https://s01.oss.sonatype.org/content/repositories/snapshots/") + nexusUrl = uri("https://ossrh-staging-api.central.sonatype.com/service/local/") + snapshotRepositoryUrl = uri("https://ossrh-staging-api.central.sonatype.com/content/repositories/snapshots/") - username = sonatypeUsername - password = sonatypePassword + username = System.getenv("NEXUS_USERNAME") + password = System.getenv("NEXUS_PASSWORD") } } } diff --git a/serde-api/build.gradle b/serde-api/build.gradle index 913116e3b..aac0da577 100644 --- a/serde-api/build.gradle +++ b/serde-api/build.gradle @@ -25,6 +25,10 @@ artifacts { if (release) { signing { + useInMemoryPgpKeys( + System.getenv("GPG_PRIVATE_KEY"), + System.getenv("GPG_PASSPHRASE") + ) sign(publishing.publications) } } @@ -33,10 +37,10 @@ publishing { if (release) { repositories { maven { - url "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2" + url "https://ossrh-staging-api.central.sonatype.com/service/local/staging/deploy/maven2" credentials { - username sonatypeUsername - password sonatypePassword + username System.getenv("NEXUS_USERNAME") + password System.getenv("NEXUS_PASSWORD") } } } diff --git a/serde-api/gradle.properties b/serde-api/gradle.properties deleted file mode 100644 index 8577ce8c4..000000000 --- a/serde-api/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -sonatypeUsername= -sonatypePassword=