From b07043b61015a76f8584add92e1e63580bae097f Mon Sep 17 00:00:00 2001 From: Varun Shenoy Date: Tue, 24 Mar 2026 17:22:55 -0700 Subject: [PATCH] Adding workflow to publish to mavencentral --- .github/workflows/publish-mavencentral.yaml | 69 +++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 .github/workflows/publish-mavencentral.yaml diff --git a/.github/workflows/publish-mavencentral.yaml b/.github/workflows/publish-mavencentral.yaml new file mode 100644 index 0000000..2634633 --- /dev/null +++ b/.github/workflows/publish-mavencentral.yaml @@ -0,0 +1,69 @@ +name: Publish to Maven Central + +on: + workflow_dispatch: + release: + types: [published] + +permissions: + contents: read + +jobs: + publish: + runs-on: ubuntu-latest + environment: maven-central + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: '17' + cache: maven + + - name: Import GPG key + run: | + echo "${{ secrets.MAVEN_GPG_PRIVATE_KEY }}" | gpg --batch --import + + - name: Configure Maven settings.xml + run: | + mkdir -p ~/.m2 + cat > ~/.m2/settings.xml <<'EOF' + + + + central + ${env.CENTRAL_USERNAME} + ${env.CENTRAL_PASSWORD} + + + + + gpg + + gpg + ${env.MAVEN_GPG_PASSPHRASE} + + + + + gpg + + + EOF + env: + CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }} + CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} + + - name: Publish + run: mvn -B -ntp clean deploy -P release + env: + CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }} + CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}