Merge pull request #130 from astubenbord/feature/fastlane-ci
Feature/fastlane ci
69
.github/workflows/release_deploy_play_store.yml
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
## 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
|
||||
|
||||
# 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
|
||||
@@ -1,3 +1,3 @@
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "fastlane"
|
||||
gem "fastlane"
|
||||
@@ -1,23 +1,23 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
CFPropertyList (3.0.5)
|
||||
CFPropertyList (3.0.6)
|
||||
rexml
|
||||
addressable (2.8.1)
|
||||
public_suffix (>= 2.0.2, < 6.0)
|
||||
artifactory (3.0.15)
|
||||
atomos (0.1.3)
|
||||
aws-eventstream (1.2.0)
|
||||
aws-partitions (1.656.0)
|
||||
aws-sdk-core (3.166.0)
|
||||
aws-partitions (1.716.0)
|
||||
aws-sdk-core (3.170.0)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
aws-partitions (~> 1, >= 1.651.0)
|
||||
aws-sigv4 (~> 1.5)
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
aws-sdk-kms (1.59.0)
|
||||
aws-sdk-kms (1.62.0)
|
||||
aws-sdk-core (~> 3, >= 3.165.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sdk-s3 (1.117.1)
|
||||
aws-sdk-s3 (1.119.1)
|
||||
aws-sdk-core (~> 3, >= 3.165.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.4)
|
||||
@@ -36,8 +36,8 @@ GEM
|
||||
unf (>= 0.0.5, < 1.0.0)
|
||||
dotenv (2.8.1)
|
||||
emoji_regex (3.2.3)
|
||||
excon (0.93.1)
|
||||
faraday (1.10.2)
|
||||
excon (0.99.0)
|
||||
faraday (1.10.3)
|
||||
faraday-em_http (~> 1.0)
|
||||
faraday-em_synchrony (~> 1.0)
|
||||
faraday-excon (~> 1.1)
|
||||
@@ -66,7 +66,7 @@ GEM
|
||||
faraday_middleware (1.2.0)
|
||||
faraday (~> 1.0)
|
||||
fastimage (2.2.6)
|
||||
fastlane (2.210.1)
|
||||
fastlane (2.212.1)
|
||||
CFPropertyList (>= 2.3, < 4.0.0)
|
||||
addressable (>= 2.8, < 3.0.0)
|
||||
artifactory (~> 3.0)
|
||||
@@ -106,9 +106,9 @@ GEM
|
||||
xcpretty (~> 0.3.0)
|
||||
xcpretty-travis-formatter (>= 0.0.3)
|
||||
gh_inspector (1.1.3)
|
||||
google-apis-androidpublisher_v3 (0.30.0)
|
||||
google-apis-androidpublisher_v3 (0.34.0)
|
||||
google-apis-core (>= 0.9.1, < 2.a)
|
||||
google-apis-core (0.9.1)
|
||||
google-apis-core (0.11.0)
|
||||
addressable (~> 2.5, >= 2.5.1)
|
||||
googleauth (>= 0.16.2, < 2.a)
|
||||
httpclient (>= 2.8.1, < 3.a)
|
||||
@@ -117,8 +117,8 @@ GEM
|
||||
retriable (>= 2.0, < 4.a)
|
||||
rexml
|
||||
webrick
|
||||
google-apis-iamcredentials_v1 (0.16.0)
|
||||
google-apis-core (>= 0.9.1, < 2.a)
|
||||
google-apis-iamcredentials_v1 (0.17.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-playcustomapp_v1 (0.12.0)
|
||||
google-apis-core (>= 0.9.1, < 2.a)
|
||||
google-apis-storage_v1 (0.19.0)
|
||||
@@ -148,11 +148,11 @@ GEM
|
||||
http-cookie (1.0.5)
|
||||
domain_name (~> 0.5)
|
||||
httpclient (2.8.3)
|
||||
jmespath (1.6.1)
|
||||
json (2.6.2)
|
||||
jwt (2.5.0)
|
||||
jmespath (1.6.2)
|
||||
json (2.6.3)
|
||||
jwt (2.7.0)
|
||||
memoist (0.16.2)
|
||||
mini_magick (4.11.0)
|
||||
mini_magick (4.12.0)
|
||||
mini_mime (1.1.2)
|
||||
multi_json (1.15.0)
|
||||
multipart-post (2.0.0)
|
||||
@@ -160,8 +160,8 @@ GEM
|
||||
naturally (2.2.1)
|
||||
optparse (0.1.1)
|
||||
os (1.1.4)
|
||||
plist (3.6.0)
|
||||
public_suffix (5.0.0)
|
||||
plist (3.7.0)
|
||||
public_suffix (5.0.1)
|
||||
rake (13.0.6)
|
||||
representable (3.2.0)
|
||||
declarative (< 0.1.0)
|
||||
@@ -178,7 +178,7 @@ GEM
|
||||
faraday (>= 0.17.5, < 3.a)
|
||||
jwt (>= 1.5, < 3.0)
|
||||
multi_json (~> 1.10)
|
||||
simctl (1.6.8)
|
||||
simctl (1.6.10)
|
||||
CFPropertyList
|
||||
naturally
|
||||
terminal-notifier (2.0.0)
|
||||
@@ -192,9 +192,10 @@ GEM
|
||||
uber (0.1.0)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.8.2-x64-mingw-ucrt)
|
||||
unf_ext (0.0.8.2)
|
||||
unf_ext (0.0.8.2-x86-mingw32)
|
||||
unicode-display_width (1.8.0)
|
||||
webrick (1.7.0)
|
||||
webrick (1.8.1)
|
||||
word_wrap (1.0.0)
|
||||
xcodeproj (1.22.0)
|
||||
CFPropertyList (>= 2.3.3, < 4.0)
|
||||
@@ -209,10 +210,11 @@ GEM
|
||||
xcpretty (~> 0.2, >= 0.0.7)
|
||||
|
||||
PLATFORMS
|
||||
x64-mingw-ucrt
|
||||
ruby
|
||||
x86-mingw32
|
||||
|
||||
DEPENDENCIES
|
||||
fastlane
|
||||
|
||||
BUNDLED WITH
|
||||
2.3.7
|
||||
2.1.4
|
||||
|
||||
@@ -6,7 +6,7 @@ buildscript {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:7.2.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
android/fastlane/Appfile
Normal file
@@ -0,0 +1 @@
|
||||
package_name("de.astubenbord.paperless_mobile")
|
||||
73
android/fastlane/Fastfile
Normal file
@@ -0,0 +1,73 @@
|
||||
# This file contains the fastlane.tools configuration
|
||||
# You can find the documentation at https://docs.fastlane.tools
|
||||
#
|
||||
# For a list of all available actions, check out
|
||||
#
|
||||
# https://docs.fastlane.tools/actions
|
||||
#
|
||||
# For a list of all available plugins, check out
|
||||
#
|
||||
# https://docs.fastlane.tools/plugins/available-plugins
|
||||
#
|
||||
|
||||
# Uncomment the line if you want fastlane to automatically update itself
|
||||
# update_fastlane
|
||||
|
||||
default_platform(:android)
|
||||
|
||||
platform :android do
|
||||
desc "Runs all the tests"
|
||||
lane :test do
|
||||
gradle(task: "test")
|
||||
end
|
||||
|
||||
desc "Submit a new alpha build to Google Play"
|
||||
lane :alpha do
|
||||
sh "flutter build appbundle -v"
|
||||
upload_to_play_store(
|
||||
track: 'alpha',
|
||||
aab: '../build/app/outputs/bundle/release/app-release.aab',
|
||||
json_key_data: ENV['PLAY_STORE_CREDENTIALS'],
|
||||
)
|
||||
end
|
||||
|
||||
desc "Promote alpha track to beta"
|
||||
lane :promote_to_production do
|
||||
upload_to_play_store(
|
||||
track: 'alpha',
|
||||
track_promote_to: 'beta',
|
||||
skip_upload_changelogs: true,
|
||||
json_key_data: ENV['PLAY_STORE_CREDENTIALS'],
|
||||
)
|
||||
end
|
||||
|
||||
desc "Submit a new beta build to Google Play"
|
||||
lane :alpha do
|
||||
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 "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
|
||||
|
||||
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
|
||||
48
android/fastlane/README.md
Normal file
@@ -0,0 +1,48 @@
|
||||
fastlane documentation
|
||||
----
|
||||
|
||||
# Installation
|
||||
|
||||
Make sure you have the latest version of the Xcode command line tools installed:
|
||||
|
||||
```sh
|
||||
xcode-select --install
|
||||
```
|
||||
|
||||
For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane)
|
||||
|
||||
# Available Actions
|
||||
|
||||
## Android
|
||||
|
||||
### android test
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane android test
|
||||
```
|
||||
|
||||
Runs all the tests
|
||||
|
||||
### android beta
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane android beta
|
||||
```
|
||||
|
||||
Submit a new Beta Build to Crashlytics Beta
|
||||
|
||||
### android deploy
|
||||
|
||||
```sh
|
||||
[bundle exec] fastlane android deploy
|
||||
```
|
||||
|
||||
Deploy a new version to the Google Play
|
||||
|
||||
----
|
||||
|
||||
This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run.
|
||||
|
||||
More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools).
|
||||
|
||||
The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
|
||||
@@ -0,0 +1 @@
|
||||
* Verbessern der Dateipfad-Verarbeitung beim Hochladen/Teilen von Dokumenten
|
||||
18
android/fastlane/metadata/android/de-DE/full_description.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
Ein (fast) vollwertiger mobiler Paperless client kompatibel mit Paperless.
|
||||
|
||||
Das Benutzen der App setzt den Zugang zu einer laufenden Paperless-ng*x Instanz voraus.
|
||||
|
||||
✔️ Betrachte und suche Dokumente
|
||||
✔️ Bearbeite, lösche oder füge neue Dokumente hinzu
|
||||
✔️ Teile Dokumente, lade sie herunter oder betrachte deine Dateien
|
||||
✔️ Verwalte Korrespondenten, Dokumenttypen, Tags oder Speicherpfade
|
||||
✔️ Scanne und lade Dokumente mit bereits zugewiesenen Werten hoch
|
||||
✔️ Überprüfe und verarbeite neue Dokumente im Posteingang
|
||||
✔️ Sichere deine Daten mit biometrischer Authentifizierung
|
||||
✔️ Unterstützung für TLS-Mutual Authentucation (Client Zertifikate)
|
||||
✔️ Moderne, intuitive Nutzeroberfläche basierend auf der Material Design 3 Spezifikation
|
||||
✔️ Heller und Dunkler Modus sowie Unterstützung für dynamische Farbgebung (Android 12+)
|
||||
✔️ Verfügbar in Deutsch, Englisch, Tchechisch* und Türkish*
|
||||
|
||||
|
||||
* Noch nicht vollständig übersetzt
|
||||
@@ -0,0 +1 @@
|
||||
Ein (fast) vollwertiger mobiler Paperless client.
|
||||
0
android/fastlane/metadata/android/de-DE/video.txt
Normal file
@@ -0,0 +1 @@
|
||||
* Fix file path splitting when uploading/sharing files
|
||||
18
android/fastlane/metadata/android/en-US/full_description.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
An (almost) fully fledged mobile Paperless client compatible with Paperless.
|
||||
|
||||
Using this app requires access to running a Paperless-ng*x instance.
|
||||
|
||||
✔️ View and search documents
|
||||
✔️ Add, delete or edit documents
|
||||
✔️ Share, download and preview your files
|
||||
✔️ Manage correspondents, document types, tags and storage paths
|
||||
✔️ Scan and upload documents with preset correspondent, document type, tags and creation date
|
||||
✔️ Review and quickly process newly added documents in the inbox
|
||||
✔️ Secure your data with biometric authentication
|
||||
✔️ Support for TLS mutual authentication (client certificates)
|
||||
✔️ Modern, intuitive UI built according to the Material Design 3 specification
|
||||
✔️ Light and dark theme and support for dynamic color (Android 12+)
|
||||
✔️ Available in English, German, Czech* and Turkish* language
|
||||
|
||||
|
||||
* Not fully translated yet
|
||||
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB |
BIN
android/fastlane/metadata/android/en-US/images/icon.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 252 KiB After Width: | Height: | Size: 252 KiB |
|
Before Width: | Height: | Size: 252 KiB After Width: | Height: | Size: 252 KiB |
|
Before Width: | Height: | Size: 249 KiB After Width: | Height: | Size: 249 KiB |
|
Before Width: | Height: | Size: 263 KiB After Width: | Height: | Size: 263 KiB |
|
Before Width: | Height: | Size: 252 KiB After Width: | Height: | Size: 252 KiB |
|
Before Width: | Height: | Size: 194 KiB After Width: | Height: | Size: 194 KiB |
|
Before Width: | Height: | Size: 258 KiB After Width: | Height: | Size: 258 KiB |
|
Before Width: | Height: | Size: 161 KiB After Width: | Height: | Size: 161 KiB |
@@ -0,0 +1 @@
|
||||
An (almost) fully fledged mobile Paperless client.
|
||||
1
android/fastlane/metadata/android/en-US/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Paperless Mobile
|
||||
0
android/fastlane/metadata/android/en-US/video.txt
Normal file
18
android/fastlane/report.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<testsuites>
|
||||
<testsuite name="fastlane.lanes">
|
||||
|
||||
|
||||
|
||||
|
||||
<testcase classname="fastlane.lanes" name="0: default_platform" time="0.0014968">
|
||||
|
||||
</testcase>
|
||||
|
||||
|
||||
<testcase classname="fastlane.lanes" name="1: clean assembleRelease" time="96.2749608">
|
||||
|
||||
</testcase>
|
||||
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
@@ -1,3 +1,4 @@
|
||||
org.gradle.jvmargs=-Xmx1536M
|
||||
android.useAndroidX=true
|
||||
android.enableJetifier=true
|
||||
android.suppressUnsupportedCompileSdk=33
|
||||
|
||||
@@ -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.3.3-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
* Add F-Droid metadata
|
||||
@@ -1,15 +0,0 @@
|
||||
With this app you can conveniently add, manage or simply find documents stored in your paperless server without any compromises.
|
||||
|
||||
🚀 Features
|
||||
✔️ View your documents at a glance, in a compact list or a more detailed grid view
|
||||
✔️ Add, delete or edit your documents
|
||||
✔️ Share, download and preview PDF files
|
||||
✔️ Manage and assign correspondents, document types, tags and storage paths
|
||||
✔️ Scan and upload documents to paperless with preset correspondent, document type, tags and creation date
|
||||
✔️ Upload existing documents from other apps via Paperless Mobile
|
||||
✔️ See all new documents in a dedicated inbox
|
||||
✔️ Search for documents using a wide range of filter criteria
|
||||
✔️ Secure your data with biometric authentication across sessions
|
||||
✔️ Support for TLS mutual authentication (client certificates)
|
||||
✔️ Modern, intuitive UI built according to the Material Design 3 specification
|
||||
✔️ Available in English and German language (more to come!)
|
||||
|
Before Width: | Height: | Size: 34 KiB |
@@ -1 +0,0 @@
|
||||
An (almost) fully fledged Paperless mobile client.
|
||||