mirror of
https://github.com/Xevion/paperless-mobile.git
synced 2025-12-07 16:07:53 -06:00
feat: Fix gradle build, update fastlane configuration
This commit is contained in:
68
.github/workflows/release_deploy_play_store.yml
vendored
Normal file
68
.github/workflows/release_deploy_play_store.yml
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
## 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
|
||||
- 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
|
||||
|
||||
# Setup app
|
||||
- name: Checkout Paperless mobile, get packages and run code generators
|
||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
|
||||
- run: |
|
||||
pushd scripts
|
||||
bash install_dependencies.sh
|
||||
popd
|
||||
|
||||
# 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
|
||||
|
||||
- name: Configure Keystore
|
||||
run: |
|
||||
echo "$PLAY_STORE_UPLOAD_KEY" | base64 --decode > app/upload-keystore.jks
|
||||
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 }}
|
||||
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
|
||||
@@ -6,7 +6,7 @@ buildscript {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:7.4.1'
|
||||
classpath 'com.android.tools.build:gradle:7.2.0'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||
// implementation 'androidx.window:window:1.0.0'
|
||||
// implementation 'androidx.window:window-java:1.0.0'
|
||||
|
||||
@@ -1,2 +1 @@
|
||||
json_key_file("../../../../paperless-mobile-play-store-credentials.json") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one
|
||||
package_name("de.astubenbord.paperless_mobile") # e.g. com.krausefx.app
|
||||
|
||||
@@ -17,23 +17,37 @@ default_platform(:android)
|
||||
|
||||
platform :android do
|
||||
desc "Runs all the tests"
|
||||
|
||||
lane :test do
|
||||
gradle(task: "test")
|
||||
end
|
||||
|
||||
desc "Submit a new Beta Build to Crashlytics Beta"
|
||||
desc "Submit a new beta build to Google Play"
|
||||
lane :beta do
|
||||
gradle(task: "clean assembleRelease")
|
||||
crashlytics
|
||||
|
||||
# sh "your_script.sh"
|
||||
# You can also use other beta testing services here
|
||||
sh "flutter build appbundle -v"
|
||||
upload_to_play_store(
|
||||
track: 'beta',
|
||||
aab: '../build/app/outputs/bundle/release/app-release.aab',
|
||||
json_key_data: ENV['PLAY_STORE_CREDENTIALS'],
|
||||
)
|
||||
end
|
||||
|
||||
desc "Deploy a new version to the Google Play"
|
||||
lane :deploy do
|
||||
gradle(task: "clean assembleRelease")
|
||||
upload_to_play_store
|
||||
desc "Promote beta track to prod"
|
||||
lane :promote_to_production do
|
||||
upload_to_play_store(
|
||||
track: 'beta',
|
||||
track_promote_to: 'production',
|
||||
skip_upload_changelogs: true,
|
||||
json_key_data: ENV['PLAY_STORE_CREDENTIALS'],
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
desc "Submit a new production build to Google Play"
|
||||
lane :production do
|
||||
sh "flutter build appbundle -v"
|
||||
upload_to_play_store(
|
||||
track: 'production',
|
||||
aab: '../build/app/outputs/bundle/release/app-release.aab',
|
||||
json_key_data: ENV['PLAY_STORE_CREDENTIALS'],
|
||||
)
|
||||
end
|
||||
end
|
||||
File diff suppressed because one or more lines are too long
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.1-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
|
||||
|
||||
Reference in New Issue
Block a user