From 0f3bd369b1a6c481713ecab1d81817c0015e3ce4 Mon Sep 17 00:00:00 2001 From: Chinmay Kawle Date: Thu, 15 Oct 2026 17:40:09 +0000 Subject: [PATCH] chore: publish 1.x through the Sonatype Central Portal main moved from Nexus 2 to the Central Portal in #1592. Nexus 2 is retired, and once a namespace has moved to the Central Portal it must not go back to OSSRH, so the 1.x release workflow cannot be used as it is. This brings 1.x in line with main: - release.yml is main's, except it keeps java-version 8 for the 1.x line. That also adds the permissions block main and 2.1.x already have: the repository's default token is now read-only, so without contents: write the release could not push its commits and tag - pom.xml repositories and distributionManagement point at the OSSRH Staging API, as on main - the archetype poms get a . Maven does not inherit name from the parent and the Central Portal rejects a deployment without one, which is what main hit in 730906af --- .github/workflows/release.yml | 27 +++++++++++++++----- aws-serverless-jersey-archetype/pom.xml | 1 + aws-serverless-spark-archetype/pom.xml | 1 + aws-serverless-spring-archetype/pom.xml | 1 + aws-serverless-springboot2-archetype/pom.xml | 1 + aws-serverless-struts-archetype/pom.xml | 1 + pom.xml | 18 ++++++------- 7 files changed, 35 insertions(+), 15 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 64ec8e2d5..5f1e4e281 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,6 +10,9 @@ on: description: "Version to use for further development" required: true default: "X.Y.Z-SNAPSHOT" +permissions: + contents: write + jobs: release: runs-on: ubuntu-latest @@ -17,21 +20,33 @@ jobs: - uses: actions/checkout@v3 - name: Configure Git User # may be removed after https://github.com/actions/checkout/issues/13 is resolved run: | - git config user.email "${{ github.actor }}@users.noreply.github.com" - git config user.name "${{ github.actor }}" + git config user.email "${GITHUB_ACTOR}@users.noreply.github.com" + git config user.name "$GITHUB_ACTOR" + env: + GITHUB_ACTOR: ${{ github.actor }} - name: Set up Maven uses: actions/setup-java@v3 with: distribution: 'corretto' java-version: 8 - server-id: sonatype-nexus-staging + server-id: sonatype-central-staging server-username: MAVEN_USERNAME server-password: MAVEN_PASSWORD gpg-private-key: ${{ secrets.GPG_SIGNING_KEY }} # Value of the GPG private key to import gpg-passphrase: GPG_PASSPHRASE # env variable for GPG private key passphrase - name: Release and publish package - run: mvn release:prepare release:perform -B -DreleaseVersion=${{ github.event.inputs.releaseVersion }} -DdevelopmentVersion=${{ github.event.inputs.developmentVersion }} + run: mvn release:prepare release:perform -B -DreleaseVersion="$RELEASE_VERSION" -DdevelopmentVersion="$DEVELOPMENT_VERSION" env: - MAVEN_USERNAME: ${{ secrets.OSSRH_JIRA_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.OSSRH_JIRA_PASSWORD }} + MAVEN_USERNAME: ${{ secrets.CENTRAL_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.CENTRAL_PASSWORD }} GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} + RELEASE_VERSION: ${{ github.event.inputs.releaseVersion }} + DEVELOPMENT_VERSION: ${{ github.event.inputs.developmentVersion }} + - name: Upload to Central Publisher Portal + run: | + AUTH=$(echo -n "$CENTRAL_USERNAME:$CENTRAL_PASSWORD" | base64) + curl --fail -X POST "https://ossrh-staging-api.central.sonatype.com/manual/upload/defaultRepository/com.amazonaws.serverless" \ + -H "Authorization: Bearer $AUTH" + env: + CENTRAL_USERNAME: ${{ secrets.CENTRAL_USERNAME }} + CENTRAL_PASSWORD: ${{ secrets.CENTRAL_PASSWORD }} diff --git a/aws-serverless-jersey-archetype/pom.xml b/aws-serverless-jersey-archetype/pom.xml index 4824a8896..c9196b275 100644 --- a/aws-serverless-jersey-archetype/pom.xml +++ b/aws-serverless-jersey-archetype/pom.xml @@ -9,6 +9,7 @@ com.amazonaws.serverless.archetypes aws-serverless-jersey-archetype + AWS Serverless Jersey Archetype 1.10.0-SNAPSHOT maven-archetype diff --git a/aws-serverless-spark-archetype/pom.xml b/aws-serverless-spark-archetype/pom.xml index f58e95c5f..73566ddd7 100644 --- a/aws-serverless-spark-archetype/pom.xml +++ b/aws-serverless-spark-archetype/pom.xml @@ -9,6 +9,7 @@ com.amazonaws.serverless.archetypes aws-serverless-spark-archetype + AWS Serverless Spark Archetype 1.10.0-SNAPSHOT maven-archetype diff --git a/aws-serverless-spring-archetype/pom.xml b/aws-serverless-spring-archetype/pom.xml index 71e7ad22a..dd5d9adda 100644 --- a/aws-serverless-spring-archetype/pom.xml +++ b/aws-serverless-spring-archetype/pom.xml @@ -9,6 +9,7 @@ com.amazonaws.serverless.archetypes aws-serverless-spring-archetype + AWS Serverless Spring Archetype 1.10.0-SNAPSHOT maven-archetype diff --git a/aws-serverless-springboot2-archetype/pom.xml b/aws-serverless-springboot2-archetype/pom.xml index 1117562e6..0a740e510 100644 --- a/aws-serverless-springboot2-archetype/pom.xml +++ b/aws-serverless-springboot2-archetype/pom.xml @@ -9,6 +9,7 @@ com.amazonaws.serverless.archetypes aws-serverless-springboot2-archetype + AWS Serverless Spring Boot 2 Archetype 1.10.0-SNAPSHOT maven-archetype diff --git a/aws-serverless-struts-archetype/pom.xml b/aws-serverless-struts-archetype/pom.xml index 8e57deafa..086616b4e 100644 --- a/aws-serverless-struts-archetype/pom.xml +++ b/aws-serverless-struts-archetype/pom.xml @@ -9,6 +9,7 @@ com.amazonaws.serverless.archetypes aws-serverless-struts-archetype + AWS Serverless Struts Archetype 1.10.0-SNAPSHOT maven-archetype diff --git a/pom.xml b/pom.xml index 8ad228763..192c8866c 100644 --- a/pom.xml +++ b/pom.xml @@ -46,9 +46,9 @@ - sonatype-nexus-snapshots - Sonatype Nexus Snapshots - https://aws.oss.sonatype.org/content/repositories/snapshots + sonatype-central-snapshots + Sonatype Central Snapshots + https://ossrh-staging-api.central.sonatype.com/content/repositories/snapshots false @@ -60,14 +60,14 @@ - sonatype-nexus-snapshots - Sonatype Nexus Snapshots - https://aws.oss.sonatype.org/content/repositories/snapshots/ + sonatype-central-snapshots + Sonatype Central Snapshots + https://ossrh-staging-api.central.sonatype.com/content/repositories/snapshots/ - sonatype-nexus-staging - Nexus Release Repository - https://aws.oss.sonatype.org/service/local/staging/deploy/maven2/ + sonatype-central-staging + Central Release Repository + https://ossrh-staging-api.central.sonatype.com/service/local/staging/deploy/maven2/