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:
parent
0bd1e355cc
commit
ac3c9b1e43
2 changed files with 54 additions and 7 deletions
47
.github/workflows/gradle-publish.yml
vendored
Normal file
47
.github/workflows/gradle-publish.yml
vendored
Normal 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 }}
|
||||
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Reference in a new issue