David Liu

Automatically publish snapshots

@@ -32,3 +32,22 @@ jobs: @@ -32,3 +32,22 @@ jobs:
32 run: chmod +x gradlew 32 run: chmod +x gradlew
33 - name: Build with Gradle 33 - name: Build with Gradle
34 run: ./gradlew assemble 34 run: ./gradlew assemble
  35 +
  36 + - name: Create gpg key and import into gradle properties
  37 + run: |
  38 + echo $GPG_KEY_ARMOR | base64 --decode > ./release.asc
  39 + gpg --quiet --output $GITHUB_WORKSPACE/release.gpg --dearmor ./release.asc
  40 + sed -i -e "s,nexusUsername=,nexusUsername=$NEXUS_USERNAME,g" gradle.properties
  41 + sed -i -e "s,nexusPassword=,nexusPassword=$NEXUS_PASSWORD,g" gradle.properties
  42 + sed -i -e "s,signing.keyId=,signing.keyId=$GPG_KEY_ID,g" gradle.properties
  43 + sed -i -e "s,signing.password=,signing.password=$GPG_PASSWORD,g" gradle.properties
  44 + sed -i -e "s,signing.secretKeyRingFile=,signing.secretKeyRingFile=$GITHUB_WORKSPACE/release.gpg,g" gradle.properties
  45 + env:
  46 + GPG_KEY_ARMOR: "${{ secrets.SIGNING_KEY_ARMOR }}"
  47 + GPG_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
  48 + GPG_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
  49 + NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }}
  50 + NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
  51 +
  52 + - name: Publish snapshot
  53 + run: ./gradlew publish closeAndReleaseRepository
@@ -40,4 +40,13 @@ POM_DEVELOPER_ID=livekit @@ -40,4 +40,13 @@ POM_DEVELOPER_ID=livekit
40 POM_DEVELOPER_NAME=LiveKit 40 POM_DEVELOPER_NAME=LiveKit
41 41
42 RELEASE_REPOSITORY_URL=https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ 42 RELEASE_REPOSITORY_URL=https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/
43 -SNAPSHOT_REPOSITORY_URL=https://s01.oss.sonatype.org/content/repositories/snapshots/  
  43 +SNAPSHOT_REPOSITORY_URL=https://s01.oss.sonatype.org/content/repositories/snapshots/
  44 +
  45 +# Variables required to allow build.gradle to parse for publishing.
  46 +# WARNING: Do not edit this and potentially commit to repo.
  47 +# Instead, override in ~/.gradle/gradle.properties
  48 +nexusUsername=
  49 +nexusPassword=
  50 +signing.keyId=
  51 +signing.password=
  52 +signing.secretKeyRingFile=