Skip to content

More Plex nullability fixes (#147) #53

More Plex nullability fixes (#147)

More Plex nullability fixes (#147) #53

name: CD
on:
push:
branches: [main]
concurrency:
group: cd-${{ github.head_ref }}
cancel-in-progress: true
env:
GRADLE_OPTS: -Dorg.gradle.daemon=false -Dorg.gradle.jvmargs="-XX:+HeapDumpOnOutOfMemoryError"
jobs:
unit_tests:
name: "Unit Tests"
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- name: "Git Checkout"
uses: actions/checkout@v4
- name: "Create keystore.ks"
run: 'echo "${{secrets.KEYSTORE_FILE}}" | base64 -d > ./android/app/keystore.ks'
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v1
- name: Copy CI gradle.properties
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: 17
- name: "Lint Project"
run: "support/scripts/lint"
- name: "Gradle cache"
uses: gradle/gradle-build-action@v2
- name: "Build and Run Unit Tests"
run: "support/scripts/unit-test"
- name: "Unit Test Results"
uses: actions/upload-artifact@v3
if: always()
with:
name: test-results
path: |
**/build/reports/**/*
- name: "Archive App Bundle"
run: "support/scripts/ci/archive"
env:
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASS }}
KEYSTORE_ALIAS: ${{ secrets.KEYSTORE_ALIAS }}
CONFIGURATION: Release
- name: "Upload App Bundle"
uses: actions/upload-artifact@v3
with:
name: app-bundle
path: |
android/app/build/outputs/bundle/release/app-release.aab
android/app/build/outputs/mapping/release/mapping.txt
retention-days: 1
deploy:
name: "Deploy"
runs-on: ubuntu-latest
needs: unit_tests
timeout-minutes: 10
steps:
- name: "Download App Bundle"
uses: actions/download-artifact@v3
with:
name: app-bundle
- name: "Upload bundle to Play Store"
uses: r0adkll/upload-google-play@v1
with:
serviceAccountJsonPlainText: ${{ secrets.GOOGLE_SERVICE_ACCOUNT }}
packageName: com.simplecityapps.shuttle
releaseFiles: bundle/release/app-release.aab
track: internal
status: completed