Android-Password-Store/.github/workflows/deploy_library_releases.yml
Harsh Shandilya 9cde249c82
github: run all workflows on Java 11
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-03-18 12:33:44 +05:30

58 lines
2.3 KiB
YAML

name: "Release library subprojects"
on:
push:
tags:
- openpgp-ktx-v*
- autofill-parser-v*
jobs:
publish-release:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-java@d202f5dbf7256730fb690ec59f6381650114feb2
with:
java-version: '11'
- name: Checkout repository
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
- name: Determine publishing task
id: task-select
run: |
set -x
TAG=${GITHUB_REF/refs\/tags\//}
if [[ "${TAG}" =~ "openpgp-ktx" ]]; then
echo '::set-output name=PROJECT::openpgp-ktx'
elif [[ "${TAG}" =~ "autofill-parser" ]]; then
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
- name: Close and release repository
uses: burrunan/gradle-cache-action@03c71a8ba93d670980695505f48f49daf43704a6
with:
arguments: closeAndReleaseRepository