include fastlane in build

This commit is contained in:
Fabian Freund
2025-06-15 11:51:37 +02:00
parent 6bba9ee0c8
commit 76971aa0c5
27 changed files with 265 additions and 104 deletions
+31 -7
View File
@@ -13,9 +13,6 @@ jobs:
KEY_PATH: ${{ github.workspace }}/key.jks KEY_PATH: ${{ github.workspace }}/key.jks
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
KEY_ALIAS: ${{ secrets.KEY_ALIAS }} KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
defaults:
run:
working-directory: app
permissions: permissions:
contents: write contents: write
steps: steps:
@@ -24,25 +21,44 @@ jobs:
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: '17' java-version: '17'
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.4' # Not needed with a .ruby-version, .tool-versions or mise.toml
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- uses: actions/setup-node@v4 - uses: actions/setup-node@v4
with: with:
node-version: 20 node-version: 20
- name: Download bundle dependencies
run: |
gem install bundler
gem install abbrev
bundle config path vendor/bundle
bundle install
- name: Build container proxy - name: Build container proxy
working-directory: packages/flutter_mozilla_components/javascript/container_proxy working-directory: packages/flutter_mozilla_components/javascript/container_proxy
run: | run: |
npm i npm i
npx webpack npx webpack
- name: Create key file - name: Create key file
working-directory: app
run: echo $KEY_JKS | base64 -di > $KEY_PATH run: echo $KEY_JKS | base64 -di > $KEY_PATH
- uses: subosito/flutter-action@v2 - uses: subosito/flutter-action@v2
with: with:
channel: stable channel: stable
flutter-version: 3.32.4 flutter-version: 3.32.4
- run: dart pub global activate melos - name: Activate melos
- run: melos bs working-directory: app
run: dart pub global activate melos
- name: Bootstrap melos
working-directory: app
run: melos bs
# - run: flutter test # - run: flutter test
- run: flutter build apk --release --split-per-abi --no-tree-shake-icons - name: Build APK
- run: flutter build appbundle working-directory: app
run: flutter build apk --verbose --release --split-per-abi --no-tree-shake-icons
- name: Build App Bundle
working-directory: app
run: flutter build appbundle
- name: Create github artifact release # disable this to save storage - name: Create github artifact release # disable this to save storage
uses: ncipollo/release-action@v1 uses: ncipollo/release-action@v1
with: with:
@@ -52,3 +68,11 @@ jobs:
with: with:
name: appbundle name: appbundle
path: app/build/app/outputs/bundle/release/app-release.aab path: app/build/app/outputs/bundle/release/app-release.aab
- name: Release to Google Play (alpha)
env:
SUPPLY_PACKAGE_NAME: ${{ secrets.ANDROID_PACKAGE_NAME }}
SUPPLY_JSON_KEY_DATA: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_KEY }}
run: |
bundle exec fastlane supply \
--aab build/app/outputs/bundle/release/app-release.aab \
--track alpha
+3
View File
@@ -0,0 +1,3 @@
source "https://rubygems.org"
gem "fastlane"
+227
View File
@@ -0,0 +1,227 @@
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.7)
base64
nkf
rexml
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
artifactory (3.0.17)
atomos (0.1.3)
aws-eventstream (1.4.0)
aws-partitions (1.1116.0)
aws-sdk-core (3.225.2)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
base64
jmespath (~> 1, >= 1.6.1)
logger
aws-sdk-kms (1.105.0)
aws-sdk-core (~> 3, >= 3.225.0)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.189.1)
aws-sdk-core (~> 3, >= 3.225.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
aws-sigv4 (1.12.1)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
base64 (0.3.0)
claide (1.1.0)
colored (1.2)
colored2 (3.1.2)
commander (4.6.0)
highline (~> 2.0.0)
declarative (0.0.20)
digest-crc (0.7.0)
rake (>= 12.0.0, < 14.0.0)
domain_name (0.6.20240107)
dotenv (2.8.1)
emoji_regex (3.2.3)
excon (0.112.0)
faraday (1.10.4)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-httpclient (~> 1.0)
faraday-multipart (~> 1.0)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.0)
faraday-patron (~> 1.0)
faraday-rack (~> 1.0)
faraday-retry (~> 1.0)
ruby2_keywords (>= 0.0.4)
faraday-cookie_jar (0.0.7)
faraday (>= 0.8.0)
http-cookie (~> 1.0.0)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.1.0)
multipart-post (~> 2.0)
faraday-net_http (1.0.2)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
faraday_middleware (1.2.1)
faraday (~> 1.0)
fastimage (2.4.0)
fastlane (2.228.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
aws-sdk-s3 (~> 1.0)
babosa (>= 1.0.3, < 2.0.0)
bundler (>= 1.12.0, < 3.0.0)
colored (~> 1.2)
commander (~> 4.6)
dotenv (>= 2.1.1, < 3.0.0)
emoji_regex (>= 0.1, < 4.0)
excon (>= 0.71.0, < 1.0.0)
faraday (~> 1.0)
faraday-cookie_jar (~> 0.0.6)
faraday_middleware (~> 1.0)
fastimage (>= 2.1.0, < 3.0.0)
fastlane-sirp (>= 1.0.0)
gh_inspector (>= 1.1.2, < 2.0.0)
google-apis-androidpublisher_v3 (~> 0.3)
google-apis-playcustomapp_v1 (~> 0.1)
google-cloud-env (>= 1.6.0, < 2.0.0)
google-cloud-storage (~> 1.31)
highline (~> 2.0)
http-cookie (~> 1.0.5)
json (< 3.0.0)
jwt (>= 2.1.0, < 3)
mini_magick (>= 4.9.4, < 5.0.0)
multipart-post (>= 2.0.0, < 3.0.0)
naturally (~> 2.2)
optparse (>= 0.1.1, < 1.0.0)
plist (>= 3.1.0, < 4.0.0)
rubyzip (>= 2.0.0, < 3.0.0)
security (= 0.1.5)
simctl (~> 1.6.3)
terminal-notifier (>= 2.0.0, < 3.0.0)
terminal-table (~> 3)
tty-screen (>= 0.6.3, < 1.0.0)
tty-spinner (>= 0.8.0, < 1.0.0)
word_wrap (~> 1.0.0)
xcodeproj (>= 1.13.0, < 2.0.0)
xcpretty (~> 0.4.1)
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
fastlane-sirp (1.0.0)
sysrandom (~> 1.0)
gh_inspector (1.1.3)
google-apis-androidpublisher_v3 (0.54.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-core (0.11.3)
addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.16.2, < 2.a)
httpclient (>= 2.8.1, < 3.a)
mini_mime (~> 1.0)
representable (~> 3.0)
retriable (>= 2.0, < 4.a)
rexml
google-apis-iamcredentials_v1 (0.17.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-playcustomapp_v1 (0.13.0)
google-apis-core (>= 0.11.0, < 2.a)
google-apis-storage_v1 (0.31.0)
google-apis-core (>= 0.11.0, < 2.a)
google-cloud-core (1.8.0)
google-cloud-env (>= 1.0, < 3.a)
google-cloud-errors (~> 1.0)
google-cloud-env (1.6.0)
faraday (>= 0.17.3, < 3.0)
google-cloud-errors (1.5.0)
google-cloud-storage (1.47.0)
addressable (~> 2.8)
digest-crc (~> 0.4)
google-apis-iamcredentials_v1 (~> 0.1)
google-apis-storage_v1 (~> 0.31.0)
google-cloud-core (~> 1.6)
googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0)
googleauth (1.8.1)
faraday (>= 0.17.3, < 3.a)
jwt (>= 1.4, < 3.0)
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (>= 0.16, < 2.a)
highline (2.0.3)
http-cookie (1.0.8)
domain_name (~> 0.5)
httpclient (2.9.0)
mutex_m
jmespath (1.6.2)
json (2.12.2)
jwt (2.10.1)
base64
logger (1.7.0)
mini_magick (4.13.2)
mini_mime (1.1.5)
multi_json (1.15.0)
multipart-post (2.4.1)
mutex_m (0.3.0)
nanaimo (0.4.0)
naturally (2.3.0)
nkf (0.2.0)
optparse (0.6.0)
os (1.1.4)
plist (3.7.2)
public_suffix (6.0.2)
rake (13.3.0)
representable (3.2.0)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
rexml (3.4.1)
rouge (3.28.0)
ruby2_keywords (0.0.5)
rubyzip (2.4.1)
security (0.1.5)
signet (0.20.0)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.a)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
simctl (1.6.10)
CFPropertyList
naturally
sysrandom (1.0.5)
terminal-notifier (2.0.0)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
trailblazer-option (0.1.2)
tty-cursor (0.7.1)
tty-screen (0.8.2)
tty-spinner (0.9.3)
tty-cursor (~> 0.7)
uber (0.1.0)
unicode-display_width (2.6.0)
word_wrap (1.0.0)
xcodeproj (1.27.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.4.0)
rexml (>= 3.3.6, < 4.0)
xcpretty (0.4.1)
rouge (~> 3.28.0)
xcpretty-travis-formatter (1.0.1)
xcpretty (~> 0.2, >= 0.0.7)
PLATFORMS
ruby
x86_64-linux
DEPENDENCIES
fastlane
BUNDLED WITH
2.6.9
+1 -1
View File
@@ -1,7 +1,7 @@
name: weblibre name: weblibre
description: "The Privacy-Focused & AI-Powered Research Browser" description: "The Privacy-Focused & AI-Powered Research Browser"
publish_to: 'none' publish_to: 'none'
version: 0.7.0+15 version: 0.9.0+1
environment: environment:
sdk: '>=3.8.0 <4.0.0' sdk: '>=3.8.0 <4.0.0'
-6
View File
@@ -1,6 +0,0 @@
* Added automatic upgrade of HTTP URLs to HTTPS (when available)
* Added support for using the HTTP protocol app-wide
* Introduced a setting to block all HTTP (insecure) content
* Enhanced user URL parsing for URLs without a specified scheme
* Added support for launching documents and downloads through third-party apps
* Improved widget layout
-3
View File
@@ -1,3 +0,0 @@
* Enhanced bottom sheet behavior for better UI and UX
* Browser tabs now sort with the most recently added first
* Browser tab sheet automatically scrolls to the active tab
-5
View File
@@ -1,5 +0,0 @@
* Renamed BangNavigator to Lensai.
* Implemented Reader Mode to extract and simplify web pages, enhancing readability by removing ads, sidebars, and other non-essential elements.
* Improved the layout and style of the browser app bar.
* Added a setting to show a selectable quick action that appears in the browser app bar between the website title and tab count.
* Added an accessibility feature to directly use speech-to-text for quick actions.
-3
View File
@@ -1,3 +0,0 @@
* Changed ABI versioning
* Updated dependencies
* Updated landing pages
-3
View File
@@ -1,3 +0,0 @@
* Implemented "Find in page" for web content
* Fixed Bang & List synchronization timeout issue
* Updated build files
-2
View File
@@ -1,2 +0,0 @@
* Enhanced user interface for improved usability
* Introduced "Topics," a new feature to save and organize browser tabs by subject
-1
View File
@@ -1 +0,0 @@
* Added the ability to open and directly summarize/prompt PDF documents.
-3
View File
@@ -1,3 +0,0 @@
* Added "About"-Dialog
* Added new GPT 4o model as default
* Prepare Google Play release
-4
View File
@@ -1,4 +0,0 @@
* Added landing page
* Adjusted routing for back navigation and landing page
* Added link to Kagi Acoount in Settings
* Improved input usability for Kagi Tools
-4
View File
@@ -1,4 +0,0 @@
* Added Chat Archive for conversations with Assistant
* Moved the browser app bar to the bottom of the screen for easier operation
* Fixed back button navigation
* Added setting to disable early access Kagi tools
-10
View File
@@ -1,10 +0,0 @@
* Added full-text search for archived Chats
* Added synchronized Bang repository from the official Kagi source
* Added same-site search with Bangs via Page title
* Added categorized Bang browser with full-text search
* Added Bang quick select for searches based on frequency
* Added cache for favicons
* Applied incognito mode to keyboard input
* Refactored app initialization
* Enabled voice input for assistant
* Fixed search suggestion overflow
-4
View File
@@ -1,4 +0,0 @@
* Implemented Material You dynamic color scheme
* Fixed back button navigation for dialogs
* Fixed bang search displayed without available bangs
* Updated landing page
-6
View File
@@ -1,6 +0,0 @@
* Reworked home widgets, now available in three sizes
* Implemented content blocker for unwanted websites and ads
* Added possibilty to remove Bangs from quick select
* Added setting to switch theme (system/light/dark)
* Remember assistant UI state
* Added Gemini 1.5 Pro
+1 -40
View File
@@ -1,40 +1 @@
Lensai: The Privacy-Focused & AI-Powered Research Browser with Kagi integration. WebLibre: The Privacy-Focused Browser
Lensai enhances your mobile research experience while keeping your personal data and identity secure.
Powered by advanced AI tools and browser extensions, Lensai offers modern features designed to elevate your browsing experience.
<b>• Privacy by Default</b>
Incognito mode is enabled by default to keep your searches and browsing history private.
<b>• Kagi Integration</b>
Seamlessly integrates Kagi's search, assistant, and summarizer tools within a user-friendly interface.
<b>• Easy Sharing</b>
Share URLs or text from any app directly into Lensai without the need to copy and paste, for direct use with summarizer/assistant.
<b>• Quick Summarization</b>
Long press any link on a website to get a summary via Kagi's summarizer.
<b>• Content Blocking</b>
A powerful content blocker is enabled by default to filter out ads, malware, and tracking sites.
<b>• Home Widgets</b>
Includes home screen widgets in three different sizes for quick actions, enhancing productivity.
<b>• PDF processing</b>
Open and directly summarize/prompt PDF documents.
<b>• Reader Mode</b>
Extract and simplify web pages, enhancing readability by removing ads, sidebars, and other non-essential elements.
<b>• Chat Archive</b>
Easily archive conversations with the Kagi assistant on your device and search through them locally.
<b>• Bang Repository</b>
Automatically synchronizes all official Kagi Bangs from the official Repository and makes them available through a convenient interface.
<b>• Enhanced Text Interaction</b>
Custom context menu allows for easy passage of marked text to Kagi's search or assistant tools.
<b>• Speech Input</b>
Supports voice commands for hands-free operation and accessibility.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 33 B

+1
View File
@@ -0,0 +1 @@
../../../app/assets/icon/icon.png

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 33 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 560 KiB

+1 -1
View File
@@ -1 +1 @@
The Privacy-Focused & AI-Powered Research Browser with Kagi integration WebLibre: The Privacy-Focused Browser
+1 -1
View File
@@ -1 +1 @@
Lensai: Secure AI Browser WebLibre: The Privacy-Focused Browser