Fix library deployment workflow (#1383)

This commit is contained in:
Harsh Shandilya 2021-04-15 14:11:43 +05:30 committed by GitHub
parent cfbdb5f92a
commit fb7788ba7e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 20 deletions

View file

@ -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 }}

View file

@ -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()
}
}
}
}

View file

@ -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)
}