Setup sign and publishing configuration (#15)

* Setup publishing configuration

* Update signing properties and action name

* Update token name

* Align property names

* Rename step
This commit is contained in:
Leonid Stashevsky 2024-12-17 12:39:33 +01:00 • committed by GitHub
commit ac3c9b1e43
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 54 additions and 7 deletions

47
.github/workflows/gradle-publish.yml vendored Normal file
View file

@ -0,0 +1,47 @@
# 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 package using Gradle and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle
name: Release
on:
release:
types: [created]
jobs:
build:
runs-on: ubuntu-latest
environment: release
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml
server-username: OSSRH_USERNAME
server-password: OSSRH_TOKEN
- name: Setup Gradle
uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0
- name: Build with Gradle
run: ./gradlew build
- name: Publish to OSSRH repository
run: ./gradlew publish
env:
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
SIGNING_KEY_PRIVATE: ${{ secrets.SIGNING_KEY_PRIVATE }}
SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }}

View file

@ -40,10 +40,10 @@ dependencies {
}
val ossrhUsername = System.getenv("OSSRH_USERNAME")
?: project.findProperty("kotlin.mcp.sdk.packages.username") as String?
?: project.findProperty("OSSRH_USERNAME") as String?
val ossrhPassword = System.getenv("OSSRH_TOKEN")
?: project.findProperty("kotlin.mcp.sdk.packages.password") as String?
?: project.findProperty("OSSRH_TOKEN") as String?
val sources = tasks.create<Jar>("sourcesJar") {
from(sourceSets["main"].allSource)
@ -52,8 +52,8 @@ val sources = tasks.create<Jar>("sourcesJar") {
publishing {
repositories {
maven {
name = "OSSRH"
maven(url = "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
name = "ossrh"
credentials {
username = ossrhUsername
password = ossrhPassword
@ -120,9 +120,9 @@ fun configureEmptyJavadocArtifact(): org.gradle.jvm.tasks.Jar {
}
fun MavenPublication.signPublicationIfKeyPresent() {
val keyId = project.getSensitiveProperty("libs.sign.key.id")
val signingKey = project.getSensitiveProperty("libs.sign.key.private")
val signingKeyPassphrase = project.getSensitiveProperty("libs.sign.passphrase")
val keyId = project.getSensitiveProperty("SIGNING_KEY_ID")
val signingKey = project.getSensitiveProperty("SIGNING_KEY_PRIVATE")
val signingKeyPassphrase = project.getSensitiveProperty("SIGNING_PASSPHRASE")
if (!signingKey.isNullOrBlank()) {
the<SigningExtension>().apply {