Skip to content

0.0.13

0.0.13 #6

name: Publish to Maven Central
on:
release:
types: [published]
workflow_dispatch:
inputs:
version:
description: 'Release version (e.g., 1.0.0)'
required: true
type: string
env:
GRADLE_OPTS: "-Dorg.gradle.daemon=false -Dorg.gradle.parallel=true -Dorg.gradle.workers.max=4"
jobs:
publish:
name: Publish to Maven Central
runs-on: ubuntu-latest
timeout-minutes: 60
environment: maven-central
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Cache Gradle dependencies
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
~/.gradle/gradle.properties
~/.gradle/buildOutputCleanup
~/.konan
~/.m2/repository
key: ${{ runner.os }}-gradle-publish-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', 'gradle/libs.versions.toml', '**/gradle.properties') }}
restore-keys: |
${{ runner.os }}-gradle-publish-
${{ runner.os }}-gradle-
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
gradle-version: '9.0.0-rc-3'
cache-cleanup: on-success
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Publish to Maven Central
run: |
./gradlew publishToMavenCentral \
--no-daemon \
--stacktrace \
--info \
--parallel \
--no-configuration-cache \
-PsigningInMemoryKeyId="${{ secrets.GPG_KEY_ID }}" \
-PsigningInMemoryKey="${{ secrets.GPG_PRIVATE_KEY }}" \
-PmavenCentralUsername="${{ secrets.MAVENCENTRAL_USERNAME }}" \
-PmavenCentralPassword="${{ secrets.MAVENCENTRAL_PASSWORD }}" \
-PsigningInMemoryKeyPassword="${{ secrets.GPG_PASSPHRASE }}"
env:
MAVENCENTRAL_USERNAME: ${{ secrets.MAVENCENTRAL_USERNAME }}
MAVENCENTRAL_PASSWORD: ${{ secrets.MAVENCENTRAL_PASSWORD }}
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
CI: true