name: "Release library subprojects" on: push: tags: - openpgp-ktx-v* - autofill-parser-v* jobs: publish-release: runs-on: ubuntu-latest steps: - 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