Deploy to central #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow uses actions that are not certified by GitHub. | |
# They are provided by a third-party and are governed by | |
# separate terms of service, privacy policy, and support | |
# documentation. | |
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle | |
# gh secret set OSSRH_GPG_SECRET_KEY -a actions --body "$(gpg --export-secret-key --armor "<your key id>")" | |
# gh secret set OSSRH_GPG_SECRET_KEY_ID -a actions --body "<your key id>" | |
# gh secret set OSSRH_GPG_SECRET_KEY_PASSWORD -a actions --body "<your key password>" | |
# gh secret set OSSRH_PASSWORD -a actions --body "<your sonatype account password>" | |
# gh secret set OSSRH_USERNAME -a actions --body "<your sonatype account username>" | |
name: Deploy to central | |
on: workflow_dispatch | |
permissions: | |
contents: read | |
jobs: | |
build: | |
uses: ./.github/workflows/gradle.yml | |
deploy: | |
needs: build | |
strategy: | |
matrix: | |
include: | |
# - target: publishIosArm64PublicationToSonatypeRepository | |
# os: macos-latest | |
- target: publishAndroidReleasePublicationToSonatypeRepository | |
os: ubuntu-latest | |
- target: publishJvmPublicationToSonatypeRepository | |
os: ubuntu-latest | |
# - target: publishLinuxX64PublicationToSonatypeRepository | |
# os: ubuntu-latest | |
- target: publishKotlinMultiplatformPublicationToSonatypeRepository | |
os: ubuntu-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Validate Gradle Wrapper | |
uses: gradle/wrapper-validation-action@v1 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.konan | |
key: ${{ runner.os }}-${{ hashFiles('**/.lock') }} | |
- name: Import GPG key | |
uses: crazy-max/ghaction-import-gpg@v5 | |
with: | |
gpg_private_key: ${{ secrets.OSSRH_GPG_SECRET_KEY }} | |
passphrase: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Gradle publish | |
uses: gradle/gradle-build-action@ce999babab2de1c4b649dc15f0ee67e6246c994f | |
with: | |
arguments: | | |
${{ matrix.target }} | |
closeSonatypeStagingRepository | |
-Psigning.gnupg.passphrase='${{secrets.OSSRH_GPG_SECRET_KEY_PASSWORD}}' | |
-Psigning.gnupg.keyName='${{secrets.OSSRH_GPG_SECRET_KEY_ID}}' | |
-PsonatypeUsername='${{secrets.OSSRH_USERNAME}}' | |
-PsonatypePassword='${{secrets.OSSRH_PASSWORD}}' | |
# Add `releaseSonatypeStagingRepository` here to release |