name: Release to Maven Central on: release: types: [released] jobs: publish: runs-on: ubuntu-latest steps: - name: Checkout Git Repo uses: actions/checkout@v2 - name: Set up Maven Central Repo uses: actions/setup-java@v1 with: java-version: 1.8 server-id: sonatype-nexus-staging server-username: ${{ secrets.OSSRH_USER }} server-password: ${{ secrets.OSSRH_PASSWORD }} gpg-passphrase: ${{ secrets.GPG_PASSWORD }} - name: Configure GPG for CI run: | # Create .gnupg directory mkdir -p ~/.gnupg/ # Configure GPG to use non-interactive mode echo "use-agent" > ~/.gnupg/gpg.conf echo "pinentry-mode loopback" >> ~/.gnupg/gpg.conf echo "allow-loopback-pinentry" > ~/.gnupg/gpg-agent.conf # Set permissions chmod 700 ~/.gnupg chmod 600 ~/.gnupg/* # Restart agent gpg-connect-agent reloadagent /bye - name: Publish to Maven Central Repo uses: samuelmeuli/action-maven-publish@v1 with: gpg_private_key: ${{ secrets.GPG_SECRET }} gpg_passphrase: ${{ secrets.GPG_PASSWORD }} nexus_username: ${{ secrets.OSSRH_USER }} nexus_password: ${{ secrets.OSSRH_PASSWORD }}