Files
paperless-mobile/.github/workflows/release_deploy_play_store.yml
2023-04-27 00:46:19 +02:00

78 lines
2.7 KiB
YAML

## See https://github.com/flutter/gallery/blob/main/.github/workflows/release_deploy_play_store.yml
name: Deploy to Play Store
on:
# Enable manual run
workflow_dispatch:
inputs:
lane:
description: "Fastlane lane"
required: true
default: "alpha"
type: choice
options:
- alpha
- promote_to_beta
- beta
- promote_to_production
- production
# Declare default permissions as read only.
permissions: read-all
jobs:
fastlane-deploy:
runs-on: ubuntu-latest
steps:
# Set up Flutter.
- name: Clone Flutter repository with stable channel
uses: subosito/flutter-action@dbf1fa04f4d2e52c33185153d06cdb5443aa189d
with:
channel: stable
- run: flutter doctor -v
# Clone repository
- name: Checkout Paperless mobile, get packages and run code generators
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
# Extract secrets into corresponding files
- name: Configure Keystore
run: |
echo "$RELEASE_KEYSTORE" > upload-keystore.jks.asc
ls -la
gpg --batch --passphrase "$RELEASE_KEYSTORE_PASSPHRASE" -d -o upload-keystore.jks upload-keystore.jks.asc
echo "storeFile=upload-keystore.jks" >> key.properties
echo "keyAlias=$KEYSTORE_KEY_ALIAS" >> key.properties
echo "storePassword=$KEYSTORE_STORE_PASSWORD" >> key.properties
echo "keyPassword=$KEYSTORE_KEY_PASSWORD" >> key.properties
env:
PLAY_STORE_UPLOAD_KEY: ${{ secrets.PLAY_STORE_UPLOAD_KEY }}
KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_KEY_ALIAS }}
KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }}
KEYSTORE_STORE_PASSWORD: ${{ secrets.KEYSTORE_STORE_PASSWORD }}
RELEASE_KEYSTORE: ${{ secrets.RELEASE_KEYSTORE }}
RELEASE_KEYSTORE_PASSPHRASE: ${{ secrets.RELEASE_KEYSTORE_PASSPHRASE }}
working-directory: android
# Run codegen
- name: Run Codegen
run: |
bash install_dependencies.sh
working-directory: scripts
# Setup Ruby, Bundler, and Gemfile dependencies
- name: Setup Fastlane
uses: ruby/setup-ruby@8df78e55761745aad83acaf3ff12976382356e6d
with:
ruby-version: "2.6"
bundler-cache: true
working-directory: android
# Build and deploy with Fastlane (by default, to alpha track) 🚀.
# Naturally, promote_to_production only deploys.
- run: bundle exec fastlane ${{ github.event.inputs.lane || 'alpha' }}
env:
PLAY_STORE_CREDENTIALS: ${{ secrets.PLAY_STORE_CREDENTIALS }}
working-directory: android