From fb306b65084b10695b72d309da4931059cbc9b5f Mon Sep 17 00:00:00 2001 From: Oleksandr Porunov Date: Tue, 12 Aug 2025 14:34:43 +0100 Subject: [PATCH] Fix maven central publishing CTR Fixes #4828 Signed-off-by: Oleksandr Porunov --- .github/workflows/ci-publish-commit.yml | 4 ++-- .github/workflows/ci-publish-official.yml | 4 ++-- RELEASING.md | 10 ++++---- pom.xml | 29 ++++++++--------------- 4 files changed, 19 insertions(+), 28 deletions(-) diff --git a/.github/workflows/ci-publish-commit.yml b/.github/workflows/ci-publish-commit.yml index 95f4c5bdd4..d037736c27 100644 --- a/.github/workflows/ci-publish-commit.yml +++ b/.github/workflows/ci-publish-commit.yml @@ -73,7 +73,7 @@ jobs: run: | mkdir -p ~/.m2/ echo "$MASTER_PASSWORD" > ~/.m2/settings-security.xml - echo "ossrh$OSSRH_USERNAME$OSSRH_PASSWORD" > ~/.m2/settings.xml + echo "central$OSSRH_USERNAME$OSSRH_PASSWORD" > ~/.m2/settings.xml env: MASTER_PASSWORD: ${{ secrets.MASTER_PASSWORD }} OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }} @@ -83,4 +83,4 @@ jobs: - name: Make JanusGraph JAR artifacts run: mvn clean install -Pjanusgraph-release -DskipTests=true - name: Deploy JanusGraph JAR artifacts into staging repository - run: mvn deploy -Pjanusgraph-release,janusgraph-commit-release -DskipTests=true -DautoReleaseAfterClose=true -Ddescription="$JG_DESCRIPTION" -DstagingDescription="$JG_DESCRIPTION" + run: mvn deploy -Pjanusgraph-release -DskipTests=true -DwaitUntil=published -DautoPublish=true -Ddescription="$JG_DESCRIPTION" -DstagingDescription="$JG_DESCRIPTION" diff --git a/.github/workflows/ci-publish-official.yml b/.github/workflows/ci-publish-official.yml index 1218164ec0..7783d1614d 100644 --- a/.github/workflows/ci-publish-official.yml +++ b/.github/workflows/ci-publish-official.yml @@ -74,7 +74,7 @@ jobs: run: | mkdir -p ~/.m2/ echo "$MASTER_PASSWORD" > ~/.m2/settings-security.xml - echo "ossrh$OSSRH_USERNAME$OSSRH_PASSWORD" > ~/.m2/settings.xml + echo "central$OSSRH_USERNAME$OSSRH_PASSWORD" > ~/.m2/settings.xml env: MASTER_PASSWORD: ${{ secrets.MASTER_PASSWORD }} OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }} @@ -87,7 +87,7 @@ jobs: - name: Print content of the generated target directory for debugging purposes run: echo $(ls janusgraph-dist/target/) - name: Deploy JanusGraph JAR artifacts into staging repository - run: mvn deploy -Pjanusgraph-release -DskipTests=true + run: mvn deploy -Pjanusgraph-release -DskipTests=true -DwaitUntil=validated -DautoPublish=false - name: Sign JanusGraph full distribution artifact run: gpg --armor --detach-sign --yes janusgraph-dist/target/${JG_FULL_DIST_NAME}.zip - name: Install requirements to build documentation diff --git a/RELEASING.md b/RELEASING.md index f50b115446..6f567650e8 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -23,7 +23,7 @@ See the relevant issue [here.](https://issues.sonatype.org/browse/OSSRH-28274) * [ ] **For Manual release flow only** Run Deploy to create [Sonatype](https://oss.sonatype.org/#welcome) staging repository and Generate artifacts for release page * [ ] **For Manual release flow only** Create a draft release and upload artifacts to it * [ ] Update release description of draft release -* [ ] Close the staging repository in [Sonatype](https://oss.sonatype.org/#stagingRepositories) +* [ ] Close the staging repository in [Sonatype](https://central.sonatype.com/publishing) * [ ] Convert draft release to a public pre-release * [ ] Create `[VOTE]` [janusgraph-dev](https://lists.lfaidata.foundation/g/janusgraph-dev) vote thread and [get required votes of 3 TSC members](https://www.apache.org/foundation/voting.html) * [ ] Release the staging repository in Sonatype @@ -101,7 +101,7 @@ Steps below were taken from [this guide.](https://maven.apache.org/guides/mini/g - ossrh + central {sonatype username} {encrypted sonatype password} @@ -120,7 +120,7 @@ Otherwise, you will have to type in your gpg passphrase many times when prompted - ossrh + central {sonatype username} {encrypted sonatype password} @@ -249,7 +249,7 @@ git clean -fdx * Deploy all jars (including javadoc and sources) and all signatures for jars to a staging repository on Sonatype. Notice, this step includes 2 separate commands. The first command will clean repository before generating artifacts and the second command will deploy those generated artifacts. You should not change anything in the repository or run `clean` between the first and the second commands. ```Shell mvn clean install -Pjanusgraph-release -DskipTests=true -mvn deploy -Pjanusgraph-release -DskipTests=true +mvn deploy -Pjanusgraph-release -DskipTests=true -DwaitUntil=validated -DautoPublish=false ``` * Install MkDocs if not installed. It is needed to build documentation. @@ -339,7 +339,7 @@ can't be canceled. ### Release the staging repository When the vote is complete and successful, it is time to finalize the release. -Log into Sonatype and select the [staging repository](https://oss.sonatype.org/#stagingRepositories) that was closed previously. +Log into Sonatype and select the [staging repository](https://central.sonatype.com/publishing) that was closed previously. Once the release is selected click `Release`. The staging directory should be automatically deleted after the release is completed. The release artifacts will be synched over to Maven Central in about 2 hours. diff --git a/pom.xml b/pom.xml index 28b03bae43..5af74140dd 100644 --- a/pom.xml +++ b/pom.xml @@ -47,12 +47,8 @@ ossrh - https://oss.sonatype.org/content/repositories/snapshots + https://central.sonatype.com/repository/maven-snapshots/ - - ossrh - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - 1.0.0,1.1.0-SNAPSHOT @@ -120,6 +116,8 @@ 2.9.3 3.46.0 5.7.0 + false + validated janusgraph-grpc @@ -1550,24 +1548,17 @@ - - - - - - janusgraph-commit-release - - - org.sonatype.plugins - nexus-staging-maven-plugin - 1.7.0 + org.sonatype.central + central-publishing-maven-plugin + 0.8.0 true - - https://oss.sonatype.org - ossrh + central + ${autoPublish} + ${waitUntil} + 3600