diff options
| author | Danny Lin <danny@kdrag0n.dev> | 2021-08-30 01:00:17 -0700 |
|---|---|---|
| committer | Danny Lin <danny@kdrag0n.dev> | 2021-08-30 01:16:47 -0700 |
| commit | 11c238d3c40a4a24513e6103268544eedfda8846 (patch) | |
| tree | e1f6ff5fe6ad401343ca81cfc0643609cc47df0f | |
| parent | df2dc2d2acb56dcdd6e162782752e79d81ed5c0b (diff) | |
github: Add release publishing workflow
| -rw-r--r-- | .github/workflows/publish.yml | 32 | ||||
| -rw-r--r-- | build.gradle.kts | 19 |
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) |
