name: Beta Deploy on: push: branches: [ master ] jobs: app_build: name: Github, Firebase, and Sentry Release runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Set up JDK 1.8 uses: actions/setup-java@v1 with: java-version: 1.8 - uses: actions/cache@v2 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} restore-keys: | ${{ runner.os }}-gradle- - uses: ./.github/actions/create-release-number name: Create Release Number id: rel_number with: beta: true - uses: ./.github/actions/inflate-secrets name: Inflate Secrets with: keystore: ${{ secrets.ORIGINAL_KEYSTORE_FILE }} google-services: ${{ secrets.GOOGLESERVICES }} firebase-creds: ${{ secrets.FIREBASECREDS }} playstore-creds: ${{ secrets.PLAYSTORECREDS }} - uses: ./.github/actions/create-release-notes name: Create Release Notes - name: Build Release env: KEYSTORE_PASSWORD: ${{ secrets.ORIGINAL_KEYSTORE_FILE_PASSWORD }} KEYSTORE_ALIAS: ${{ secrets.ORIGINAL_KEYSTORE_ALIAS }} KEYSTORE_ALIAS_PASSWORD: ${{ secrets.ORIGINAL_KEYSTORE_ALIAS_PASSWORD }} VERSION: ${{ steps.rel_number.outputs.version }} VERSION_CODE: ${{ steps.rel_number.outputs.version-code }} run: ./gradlew assembleRelease - name: Create Github Pre-Release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ steps.rel_number.outputs.version }} release_name: ${{ steps.rel_number.outputs.version }} body_path: ./app/build/outputs/changelogGithub draft: false prerelease: true - name: Upload Full APK uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./app/build/outputs/apk/full/release/app-full-release.apk asset_name: home-assistant-full-${{steps.rel_number.outputs.version}}.apk asset_content_type: application/zip - name: Upload Minimal APK uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./app/build/outputs/apk/minimal/release/app-minimal-release.apk asset_name: home-assistant-minimal-${{steps.rel_number.outputs.version}}.apk asset_content_type: application/zip - name: Deploy to Firebase env: KEYSTORE_PASSWORD: ${{ secrets.ORIGINAL_KEYSTORE_FILE_PASSWORD }} KEYSTORE_ALIAS: ${{ secrets.ORIGINAL_KEYSTORE_ALIAS }} KEYSTORE_ALIAS_PASSWORD: ${{ secrets.ORIGINAL_KEYSTORE_ALIAS_PASSWORD }} VERSION: ${{ steps.rel_number.outputs.version }} VERSION_CODE: ${{ steps.rel_number.outputs.version-code }} run: ./gradlew appDistributionUploadFullRelease - name: Create a Sentry.io release uses: tclindner/sentry-releases-action@v1.2.0 env: SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} SENTRY_ORG: ${{ secrets.SENTRY_ORG }} SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} with: tagName: io.homeassistant.companion.android@${{ steps.rel_number.outputs.version }} environment: Beta