Implement Pinpad UI element #21
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
push: | |
tags: ['*'] | |
name: Release | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- | |
name: Checkout | |
uses: actions/[email protected] | |
- | |
name: Configure Java | |
uses: actions/[email protected] | |
with: | |
java-version: 17 | |
distribution: oracle | |
- | |
name: Keystore Setup | |
run: echo "${{secrets.ANDROID_KEYSTORE_64}}" | base64 --decode > glassconsole.keystore | |
- | |
name: Test | |
run: ./gradlew --no-daemon check | |
- | |
env: | |
ORG_GRADLE_PROJECT_signingFile: glassconsole.keystore | |
ORG_GRADLE_PROJECT_signingKeyPassword: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} | |
ORG_GRADLE_PROJECT_signingStorePassword: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} | |
ORG_GRADLE_PROJECT_signingAlias: ${{ secrets.ANDROID_KEYSTORE_ALIAS }} | |
name: Build Android App | |
run: ./gradlew --no-daemon assembleRelease bundleRelease -Pcommit=${{ github.sha }} -PversionName=${{ github.ref_name }} -PversionCode=$((($GITHUB_RUN_NUMBER * 10) + $GITHUB_RUN_ATTEMPT)) | |
- | |
name: Build Client Publication | |
run: ./gradlew --no-daemon client:build -Pversion=${GITHUB_TAG/refs\/tags\//} | |
- | |
name: Build Structures Publication | |
run: ./gradlew --no-daemon structures:build -Pversion=${GITHUB_TAG/refs\/tags\//} | |
- | |
name: Prepare Uploads | |
run: | | |
mkdir -p build | |
mkdir -p build/output | |
cp android/build/outputs/apk/release/android-release.apk build/output/GlassConsole-${{ github.ref_name }}.apk | |
cp android/build/outputs/bundle/release/android-release.aab build/output/GlassConsole-${{ github.ref_name }}.aab | |
- | |
name: Archive APK | |
uses: actions/[email protected] | |
with: | |
name: Android APK | |
path: build/output/GlassConsole-${{ github.ref_name }}.apk | |
- | |
name: Archive Bundle | |
uses: actions/[email protected] | |
with: | |
name: Android AAB | |
path: build/output/GlassConsole-${{ github.ref_name }}.aab | |
- | |
name: Archive Client Jar | |
uses: actions/upload-artifact@v2 | |
with: | |
name: Client Jar | |
path: client/build/libs/client-jvm-${{ github.ref_name }}.jar | |
- | |
name: Archive Structures Jar | |
uses: actions/upload-artifact@v2 | |
with: | |
name: Client Jar | |
path: structures/build/libs/structures-jvm-${{ github.ref_name }}.jar | |
- | |
name: Play Service Account Setup | |
run: echo '${{secrets.PLAY_CONSOLE_SERVICE_JSON}}' > service_account.json | |
- | |
name: Create Release | |
id: create_release | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ github.ref }} | |
release_name: ${{ github.ref_name }} | |
draft: true | |
prerelease: false | |
- | |
name: Upload AAB Release Asset | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: build/output/GlassConsole-${{ github.ref_name }}.aab | |
asset_name: GlassConsole-${{ github.ref_name }}.aab | |
asset_content_type: application/octet-stream | |
- | |
name: Upload APK Release Asset | |
uses: actions/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: build/output/GlassConsole-${{ github.ref_name }}.apk | |
asset_name: GlassConsole-${{ github.ref_name }}.apk | |
asset_content_type: application/octet-stream | |
- | |
name: Deploy to Play Store | |
uses: r0adkll/[email protected] | |
with: | |
serviceAccountJson: service_account.json | |
packageName: com.inkapplications.glassconsole | |
releaseFile: build/output/GlassConsole-${{ github.ref_name }}.aab | |
track: internal | |
- | |
name: Maven Publish | |
env: | |
GITHUB_TAG: ${{ github.ref }} | |
ORG_GRADLE_PROJECT_mavenUser: ${{ secrets.MAVEN_CENTRAL_USERNAME }} | |
ORG_GRADLE_PROJECT_mavenPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} | |
ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.PGP_INK_CI_KEYID }} | |
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.PGP_INK_CI_PRIVATE }} | |
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.PGP_INK_CI_PASSWORD }} | |
run: > | |
./gradlew --no-daemon | |
publishKotlinMultiplatformPublicationToMavenCentralRepository | |
publishJvmPublicationToMavenCentralRepository | |
publishLinuxX64PublicationToMavenCentralRepository | |
publishLinuxArm64PublicationToMavenCentralRepository | |
-Pversion=${GITHUB_TAG/refs\/tags\//} |