From 6e7b663790cdaedc708f3a20ecea164dcfff4bca Mon Sep 17 00:00:00 2001 From: unidevel Date: Mon, 14 Jul 2025 21:55:44 +0100 Subject: [PATCH] Migrate ossrh to cetral portal --- .github/workflows/release.yml | 97 +++++++++++++++++++ drift-api/pom.xml | 1 + drift-codec-utils/pom.xml | 1 + drift-codec/pom.xml | 1 + drift-idl-generator/pom.xml | 1 + drift-javadoc/pom.xml | 1 + drift-javadoc/src/test/projects/basic/pom.xml | 1 + drift-maven-plugin/pom.xml | 1 + .../src/test/projects/direct/pom.xml | 1 + .../src/test/projects/recursive/pom.xml | 1 + drift-protocol/pom.xml | 1 + pom.xml | 31 ++---- 12 files changed, 117 insertions(+), 21 deletions(-) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..8d1de2069 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,97 @@ +name: Publish release + +on: + workflow_dispatch: + +env: + JAVA_VERSION: ${{ vars.JAVA_VERSION }} + JAVA_DISTRIBUTION: ${{ vars.JAVA_DISTRIBUTION }} + MAVEN_OPTS: ${{ vars.MAVEN_OPTS }} + GPG_KEY_FILE: /tmp/gpg-key.txt + +jobs: + publish-release: + runs-on: ubuntu-latest + environment: release + strategy: + fail-fast: true + permissions: + contents: write + packages: write + + steps: + - name: Check branch + if: ${{ github.ref != 'refs/heads/master' }} + run: echo "Invalid branch. This action can only be run on the master branch." && exit 1 + + - name: Checkout source + uses: actions/checkout@v4 + with: + token: ${{ secrets.PRESTODB_CI_TOKEN }} + show-progress: false + fetch-depth: 0 + ref: master + + - name: Set up JDK ${{ env.JAVA_DISTRIBUTION }}/${{ env.JAVA_VERSION }} + uses: actions/setup-java@v4 + with: + java-version: ${{ env.JAVA_VERSION }} + distribution: ${{ env.JAVA_DISTRIBUTION }} + overwrite-settings: true + server-id: ossrh + server-username: NEXUS_USERNAME + server-password: NEXUS_PASSWORD + gpg-private-key: ${{ secrets.GPG_SECRET }} + + - name: Set up git + run: | + git config --global --add safe.directory ${{github.workspace}} + git config --global user.email "ci@lists.prestodb.io" + git config --global user.name "prestodb-ci" + git config --global alias.ls 'log --pretty=format:"%cd %h %ce: %s" --date=short --no-merges' + git config pull.rebase false + + - name: Get release version + id: get-version + run: | + RELEASE_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout | tail -n 1 | sed 's/-SNAPSHOT//') + echo "RELEASE_VERSION=$RELEASE_VERSION" >> $GITHUB_ENV + echo "RELEASE_VERSION=$RELEASE_VERSION" + echo "In case cut release failed, please delete the tag ${RELEASE_VERSION} manually" + + - name: Prepare release + run: | + git reset --hard + mvn release:prepare -DreleaseVersion=${{ env.RELEASE_VERSION }} + grep -m 1 "" pom.xml + git ls -5 + + - name: Set up GPG key + env: + GPG_TTY: $(tty) + run: | + echo "${{ secrets.GPG_SECRET }}" > ${{ env.GPG_KEY_FILE }} + chmod 600 ${{ env.GPG_KEY_FILE }} + gpg --import --batch ${{ env.GPG_KEY_FILE }} + gpg --batch --yes --pinentry-mode loopback --passphrase "${{ secrets.GPG_PASSPHRASE }}" --sign ${{ env.GPG_KEY_FILE }} + + - name: Publish release + env: + NEXUS_USERNAME: "${{ secrets.NEXUS_USERNAME }}" + NEXUS_PASSWORD: "${{ secrets.NEXUS_PASSWORD }}" + GPG_PASSPHRASE: "${{ secrets.GPG_PASSPHRASE }}" + run: | + git checkout ${{ env.RELEASE_VERSION }} + git ls -5 + mvn -V -B -U -e -T2C deploy \ + -Poss-release \ + -DautoReleaseAfterClose=true \ + -DkeepStagingRepositoryOnCloseRuleFailure=true \ + -DkeepStagingRepositoryOnFailure=true \ + -DstagingProgressTimeoutMinutes=10 + + - name: Push changes and tags + run: | + git checkout master + git ls -5 + git push origin master --tags diff --git a/drift-api/pom.xml b/drift-api/pom.xml index 001d9bd1d..55518b07e 100644 --- a/drift-api/pom.xml +++ b/drift-api/pom.xml @@ -9,6 +9,7 @@ drift-api + drift-api Drift annotations and exceptions for use in Thrift interfaces and types jar diff --git a/drift-codec-utils/pom.xml b/drift-codec-utils/pom.xml index bd76882d3..8930e05c1 100644 --- a/drift-codec-utils/pom.xml +++ b/drift-codec-utils/pom.xml @@ -9,6 +9,7 @@ drift-codec-utils + drift-codec-utils Default codecs for common data structures jar diff --git a/drift-codec/pom.xml b/drift-codec/pom.xml index 8b5371412..bae677a35 100644 --- a/drift-codec/pom.xml +++ b/drift-codec/pom.xml @@ -9,6 +9,7 @@ drift-codec + drift-codec Annotation based encoder and decoder for Thrift jar diff --git a/drift-idl-generator/pom.xml b/drift-idl-generator/pom.xml index 750e126ac..cc31a5408 100644 --- a/drift-idl-generator/pom.xml +++ b/drift-idl-generator/pom.xml @@ -9,6 +9,7 @@ drift-idl-generator + drift-idl-generator Generate Thrift IDL from Drift annotated classes jar diff --git a/drift-javadoc/pom.xml b/drift-javadoc/pom.xml index 395a01af1..38189800a 100644 --- a/drift-javadoc/pom.xml +++ b/drift-javadoc/pom.xml @@ -9,6 +9,7 @@ drift-javadoc + drift-javadoc Annotation processor to store the Javadoc of Drift classes jar diff --git a/drift-javadoc/src/test/projects/basic/pom.xml b/drift-javadoc/src/test/projects/basic/pom.xml index b8a91e63b..95fe2604c 100644 --- a/drift-javadoc/src/test/projects/basic/pom.xml +++ b/drift-javadoc/src/test/projects/basic/pom.xml @@ -4,6 +4,7 @@ com.facebook.drift.its basic + basic 1.0 diff --git a/drift-maven-plugin/pom.xml b/drift-maven-plugin/pom.xml index 60d4d062b..5b73248bf 100644 --- a/drift-maven-plugin/pom.xml +++ b/drift-maven-plugin/pom.xml @@ -9,6 +9,7 @@ drift-maven-plugin + drift-maven-plugin Maven plugin for Drift maven-plugin diff --git a/drift-maven-plugin/src/test/projects/direct/pom.xml b/drift-maven-plugin/src/test/projects/direct/pom.xml index a2e689567..8b08c6169 100644 --- a/drift-maven-plugin/src/test/projects/direct/pom.xml +++ b/drift-maven-plugin/src/test/projects/direct/pom.xml @@ -4,6 +4,7 @@ com.facebook.drift.its basic + direct 1.0 diff --git a/drift-maven-plugin/src/test/projects/recursive/pom.xml b/drift-maven-plugin/src/test/projects/recursive/pom.xml index 64ad96ad1..08328abf9 100644 --- a/drift-maven-plugin/src/test/projects/recursive/pom.xml +++ b/drift-maven-plugin/src/test/projects/recursive/pom.xml @@ -4,6 +4,7 @@ com.facebook.drift.its basic + recursive 1.0 diff --git a/drift-protocol/pom.xml b/drift-protocol/pom.xml index 45845fe6a..10db5377d 100644 --- a/drift-protocol/pom.xml +++ b/drift-protocol/pom.xml @@ -9,6 +9,7 @@ drift-protocol + drift-protocol Core classes for Drift jar diff --git a/pom.xml b/pom.xml index 8e1ea0f2b..7341cea1d 100644 --- a/pom.xml +++ b/pom.xml @@ -59,6 +59,7 @@ 1.6.8 4.1.115.Final + 0.8.0 @@ -377,17 +378,6 @@ clean verify -DskipTests - - - org.sonatype.plugins - nexus-staging-maven-plugin - ${dep.nexus-staging-plugin.version} - true - - ossrh - https://oss.sonatype.org/ - - @@ -417,17 +407,16 @@ - - - - - - deploy-to-ossrh - - - org.sonatype.plugins - nexus-staging-maven-plugin + org.sonatype.central + central-publishing-maven-plugin + ${dep.central-publishing.version} + true + + ossrh + true + validated +