From 7c4f98c42c5d1ee27d6ce73c9bd0e4e5e3f4aea2 Mon Sep 17 00:00:00 2001 From: "John J. Aylward" Date: Mon, 16 Oct 2023 17:30:57 -0400 Subject: [PATCH 1/4] Add new deployment pipeline. This should only trigger when a release is published --- .github/workflows/deployment.yml | 40 ++++++++++++++++++++++++++++++++ pom.xml | 7 ++++++ 2 files changed, 47 insertions(+) create mode 100644 .github/workflows/deployment.yml diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml new file mode 100644 index 0000000..d69b478 --- /dev/null +++ b/.github/workflows/deployment.yml @@ -0,0 +1,40 @@ +# For more information see: https://docs.github.com/en/actions/learn-github-actions or https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions + +name: Deployment workflow + +on: + release: + types: [published] + +jobs: + publish: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v4 + - name: Set up Java for publishing to Maven Central Repository + uses: actions/setup-java@v3 + with: + # Use lowest supported LTS Java version + java-version: '8' + distribution: 'temurin' + server-id: ossrh + server-username: MAVEN_USERNAME + server-password: MAVEN_PASSWORD + - name: Publish to the Maven Central Repository + run: mvn --batch-mode deploy + env: + MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} + # - name: Set up Java for publishing to GitHub Packages + # uses: actions/setup-java@v3 + # with: + # # Use lowest supported LTS Java version + # java-version: '8' + # distribution: 'temurin' + # - name: Publish to GitHub Packages + # run: mvn --batch-mode deploy + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/pom.xml b/pom.xml index 77bbdac..fb983f0 100644 --- a/pom.xml +++ b/pom.xml @@ -52,6 +52,13 @@ UTF-8 + + + ossrh + Central Repository OSSRH + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + From a86786a5f5c40701b053a6f1b88cd1af3bcaa053 Mon Sep 17 00:00:00 2001 From: "John J. Aylward" Date: Mon, 16 Oct 2023 18:03:39 -0400 Subject: [PATCH 2/4] Add snapshot repository --- pom.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pom.xml b/pom.xml index fb983f0..fae575b 100644 --- a/pom.xml +++ b/pom.xml @@ -58,6 +58,10 @@ Central Repository OSSRH https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + ossrh + https://oss.sonatype.org/content/repositories/snapshots + From ed183e61427589dea729c42be519ce75437b1dc0 Mon Sep 17 00:00:00 2001 From: "John J. Aylward" Date: Mon, 16 Oct 2023 18:22:08 -0400 Subject: [PATCH 3/4] remove deprecated parent pom per Sonatype docs --- pom.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pom.xml b/pom.xml index fae575b..7b77542 100644 --- a/pom.xml +++ b/pom.xml @@ -21,12 +21,6 @@ https://github.com/douglascrockford/JSON-java - - org.sonatype.oss - oss-parent - 9 - - https://github.com/douglascrockford/JSON-java.git scm:git:git://github.com/douglascrockford/JSON-java.git From e8f125fb6ea827448408698b1a50a61984cea6b3 Mon Sep 17 00:00:00 2001 From: "John J. Aylward" Date: Mon, 16 Oct 2023 18:22:22 -0400 Subject: [PATCH 4/4] update workflow to use GPG --- .github/workflows/deployment.yml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml index d69b478..54457d9 100644 --- a/.github/workflows/deployment.yml +++ b/.github/workflows/deployment.yml @@ -1,4 +1,8 @@ -# For more information see: https://docs.github.com/en/actions/learn-github-actions or https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions +# For more information see: +# * https://docs.github.com/en/actions/learn-github-actions +# * https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions +# * https://github.com/actions/setup-java/blob/v3.13.0/docs/advanced-usage.md#Publishing-using-Apache-Maven +# name: Deployment workflow @@ -20,14 +24,18 @@ jobs: # Use lowest supported LTS Java version java-version: '8' distribution: 'temurin' - server-id: ossrh - server-username: MAVEN_USERNAME - server-password: MAVEN_PASSWORD + server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml + server-username: MAVEN_USERNAME # env variable for username in deploy + server-password: MAVEN_PASSWORD # env variable for token in deploy + gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Value of the GPG private key to import + gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase + - name: Publish to the Maven Central Repository run: mvn --batch-mode deploy env: MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} # - name: Set up Java for publishing to GitHub Packages # uses: actions/setup-java@v3 # with: