aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarsh Shandilya <me@msfjarvis.dev>2021-04-15 14:11:43 +0530
committerGitHub <noreply@github.com>2021-04-15 14:11:43 +0530
commitfb7788ba7ee327d3ad51b04d3303e2dd3ef3f88a (patch)
tree03f64bc2c30f0585012c5a1dc4eb739ac536402b
parentcfbdb5f92ac034f595925fc25c3d0a11e0b3a390 (diff)
Fix library deployment workflow (#1383)
-rw-r--r--.github/workflows/deploy_library_releases.yml28
-rw-r--r--buildSrc/src/main/java/PasswordStorePlugin.kt5
-rw-r--r--buildSrc/src/main/java/SigningConfig.kt8
3 files changed, 21 insertions, 20 deletions
diff --git a/.github/workflows/deploy_library_releases.yml b/.github/workflows/deploy_library_releases.yml
index f990adab..51297bdc 100644
--- a/.github/workflows/deploy_library_releases.yml
+++ b/.github/workflows/deploy_library_releases.yml
@@ -27,32 +27,20 @@ jobs:
echo '::set-output name=PROJECT::autofill-parser'
fi
- - name: Setup secrets
- run: |
- # Using --batch doesn't prompt for a password for importing, which works
- # out for us since we supply it to the Gradle plugin directly.
- echo "${NEXUS_PUBLISH_GPG_KEY}" | base64 --decode | gpg --batch --import
-
- # Set environment variables
- echo "SONATYPE_NEXUS_USERNAME=${NEXUS_PUBLISH_USERNAME}" >> $GITHUB_ENV
- echo "SONATYPE_NEXUS_PASSWORD=${NEXUS_PUBLISH_PASSWORD}" >> $GITHUB_ENV
- # The ORG_GRADLE_PROJECT_ prefixed properties are equivalent to ./gradlew -Pproperty.name=value
- echo "ORG_GRADLE_PROJECT_signing.keyId=${NEXUS_PUBLISH_GPG_KEY_ID}" >> $GITHUB_ENV
- echo "ORG_GRADLE_PROJECT_signing.password=${NEXUS_PUBLISH_GPG_KEY_PASSWORD}" >> $GITHUB_ENV
- echo "ORG_GRADLE_PROJECT_signing.secretKeyRingFile=$HOME/.gnupg/secring.gpg" >> $GITHUB_ENV
- env:
- NEXUS_PUBLISH_GPG_KEY: ${{ secrets.NEXUS_PUBLISH_GPG_KEY }}
- NEXUS_PUBLISH_USERNAME: ${{ secrets.NEXUS_PUBLISH_USERNAME }}
- NEXUS_PUBLISH_PASSWORD: ${{ secrets.NEXUS_PUBLISH_PASSWORD }}
- NEXUS_PUBLISH_GPG_KEY_ID: ${{ secrets.NEXUS_PUBLISH_GPG_KEY_ID }}
- NEXUS_PUBLISH_GPG_KEY_PASSWORD: ${{ secrets.NEXUS_PUBLISH_GPG_KEY_PASSWORD }}
-
- name: Upload binaries
uses: burrunan/gradle-cache-action@03c71a8ba93d670980695505f48f49daf43704a6
with:
arguments: :${{ steps.task-select.outputs.PROJECT }}:uploadArchives
+ env:
+ SONATYPE_NEXUS_USERNAME: ${{ secrets.NEXUS_PUBLISH_USERNAME }}
+ SONATYPE_NEXUS_PASSWORD: ${{ secrets.NEXUS_PUBLISH_PASSWORD }}
+ ORG_GRADLE_PROJECT_signingKey: ${{ secrets.NEXUS_PUBLISH_GPG_KEY }}
+ ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.NEXUS_PUBLISH_GPG_KEY_PASSWORD }}
- name: Close and release repository
uses: burrunan/gradle-cache-action@03c71a8ba93d670980695505f48f49daf43704a6
with:
arguments: closeAndReleaseRepository
+ env:
+ SONATYPE_NEXUS_USERNAME: ${{ secrets.NEXUS_PUBLISH_USERNAME }}
+ SONATYPE_NEXUS_PASSWORD: ${{ secrets.NEXUS_PUBLISH_PASSWORD }}
diff --git a/buildSrc/src/main/java/PasswordStorePlugin.kt b/buildSrc/src/main/java/PasswordStorePlugin.kt
index c250d981..21496f8f 100644
--- a/buildSrc/src/main/java/PasswordStorePlugin.kt
+++ b/buildSrc/src/main/java/PasswordStorePlugin.kt
@@ -16,6 +16,8 @@ import org.gradle.api.plugins.JavaPlugin
import org.gradle.api.tasks.compile.JavaCompile
import org.gradle.kotlin.dsl.getByType
import org.gradle.kotlin.dsl.withType
+import org.gradle.plugins.signing.SigningExtension
+import org.gradle.plugins.signing.SigningPlugin
class PasswordStorePlugin : Plugin<Project> {
@@ -45,6 +47,9 @@ class PasswordStorePlugin : Plugin<Project> {
is KtfmtPlugin -> {
project.extensions.getByType<KtfmtExtension>().configureKtfmt()
}
+ is SigningPlugin -> {
+ project.extensions.getByType<SigningExtension>().configureBuildSigning()
+ }
}
}
}
diff --git a/buildSrc/src/main/java/SigningConfig.kt b/buildSrc/src/main/java/SigningConfig.kt
index eaa7433c..aa612b35 100644
--- a/buildSrc/src/main/java/SigningConfig.kt
+++ b/buildSrc/src/main/java/SigningConfig.kt
@@ -6,6 +6,8 @@
import com.android.build.gradle.internal.dsl.BaseAppModuleExtension
import java.util.Properties
import org.gradle.api.Project
+import org.gradle.kotlin.dsl.provideDelegate
+import org.gradle.plugins.signing.SigningExtension
private const val KEYSTORE_CONFIG_PATH = "keystore.properties"
@@ -30,3 +32,9 @@ internal fun BaseAppModuleExtension.configureBuildSigning(project: Project) {
buildTypes.all { setSigningConfig(signingConfig) }
}
}
+
+internal fun SigningExtension.configureBuildSigning() {
+ val signingKey: String? by project
+ val signingPassword: String? by project
+ useInMemoryPgpKeys(signingKey, signingPassword)
+}