name: Nightly Playstore Beta on: workflow_dispatch: schedule: - cron: '0 4 * * *' jobs: play_publish: name: Play Publish 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.UPLOAD_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.UPLOAD_KEYSTORE_FILE_PASSWORD }} KEYSTORE_ALIAS: ${{ secrets.UPLOAD_KEYSTORE_ALIAS }} KEYSTORE_ALIAS_PASSWORD: ${{ secrets.UPLOAD_KEYSTORE_ALIAS_PASSWORD }} VERSION: ${{ steps.rel_number.outputs.version }} VERSION_CODE: ${{ steps.rel_number.outputs.version-code }} run: ./gradlew bundleFullRelease - name: Check for build need run: | commits = git log --since="24 hours ago" --oneline | wc -l echo "commits=$commits >> $GITHUB_ENV - name: Deploy to Playstore Beta # Only run if a new commit is present. This should prevent a new beta being created # incorrectly when the release is generated. if: env.commits != '0' || github.event_name == 'workflow_dispatch' env: KEYSTORE_PASSWORD: ${{ secrets.UPLOAD_KEYSTORE_FILE_PASSWORD }} KEYSTORE_ALIAS: ${{ secrets.UPLOAD_KEYSTORE_ALIAS }} KEYSTORE_ALIAS_PASSWORD: ${{ secrets.UPLOAD_KEYSTORE_ALIAS_PASSWORD }} VERSION: ${{ steps.rel_number.outputs.version }} VERSION_CODE: ${{ steps.rel_number.outputs.version-code }} run: ./gradlew publishFullReleaseBundle || echo "Issue uploading Release, may just be nothing has changed"