aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Lin <danny@kdrag0n.dev>2021-08-30 01:00:17 -0700
committerDanny Lin <danny@kdrag0n.dev>2021-08-30 01:16:47 -0700
commit11c238d3c40a4a24513e6103268544eedfda8846 (patch)
treee1f6ff5fe6ad401343ca81cfc0643609cc47df0f
parentdf2dc2d2acb56dcdd6e162782752e79d81ed5c0b (diff)
github: Add release publishing workflow
-rw-r--r--.github/workflows/publish.yml32
-rw-r--r--build.gradle.kts19
2 files changed, 38 insertions, 13 deletions
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
new file mode 100644
index 0000000..976c3d4
--- /dev/null
+++ b/.github/workflows/publish.yml
@@ -0,0 +1,32 @@
+name: Publish release
+
+on:
+ release:
+ types: [released]
+
+jobs:
+ publish:
+ name: Build and publish
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check out code
+ uses: actions/checkout@v2
+
+ - name: Set up Java
+ uses: actions/setup-java@v2
+ with:
+ distribution: adopt
+ java-version: 11
+
+ - name: Build code
+ run: ./gradlew assemble
+
+ - name: Publish to Maven Central
+ run: ./gradlew publishAllPublicationsToSonatypeRepository --max-workers 1 closeAndReleaseSonatypeStagingRepository
+ env:
+ OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
+ OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
+ SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
+ SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
+ SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
+ SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
diff --git a/build.gradle.kts b/build.gradle.kts
index 236ee1c..70a63d9 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -65,13 +65,6 @@ val javadocJar: TaskProvider<Jar> by tasks.registering(Jar::class) {
from(dokkaHtml.outputDirectory)
}
-ext["signing.keyId"] = ""
-ext["signing.password"] = ""
-ext["signing.key"] = ""
-ext["ossrhUsername"] = ""
-ext["ossrhPassword"] = ""
-ext["sonatypeStagingProfileId"] = ""
-
val secretPropsFile = project.rootProject.file("local.properties")
if (secretPropsFile.exists()) {
// Read local.properties file first if it exists
@@ -91,9 +84,9 @@ if (secretPropsFile.exists()) {
nexusPublishing {
repositories {
sonatype {
- stagingProfileId.set(rootProject.extra["sonatypeStagingProfileId"] as String)
- username.set(rootProject.extra["ossrhUsername"] as String)
- password.set(rootProject.extra["ossrhPassword"] as String)
+ stagingProfileId.set(rootProject.extra["sonatypeStagingProfileId"] as String?)
+ username.set(rootProject.extra["ossrhUsername"] as String?)
+ password.set(rootProject.extra["ossrhPassword"] as String?)
nexusUrl.set(uri("https://s01.oss.sonatype.org/service/local/"))
snapshotRepositoryUrl.set(uri("https://s01.oss.sonatype.org/content/repositories/snapshots/"))
@@ -137,9 +130,9 @@ publishing {
signing {
useInMemoryPgpKeys(
- rootProject.extra["signing.keyId"] as String,
- rootProject.extra["signing.key"] as String,
- rootProject.extra["signing.password"] as String
+ rootProject.extra["signing.keyId"] as String?,
+ rootProject.extra["signing.key"] as String?,
+ rootProject.extra["signing.password"] as String?
)
sign(publishing.publications)