diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4427a12d..798ea4a6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -85,33 +85,38 @@ jobs: - name: Build components run: melos run build-components --no-select - - name: Build APK + - name: Build APK (Alpha) + if: steps.build-type.outputs.is_prerelease == 'true' + run: melos run build-browser-alpha --no-select + + - name: Build APK (Stable) + if: steps.build-type.outputs.is_prerelease == 'false' run: melos run build-browser --no-select - name: Build App Bundle if: steps.build-type.outputs.is_prerelease == 'false' working-directory: apps/weblibre - run: flutter build appbundle --target-platform android-arm,android-arm64 --no-tree-shake-icons + run: flutter build appbundle --flavor stable --target-platform android-arm,android-arm64 --no-tree-shake-icons - name: Create github artifact release (Prerelease) if: steps.build-type.outputs.is_prerelease == 'true' uses: ncipollo/release-action@v1.17.0 with: - artifacts: "apps/weblibre/build/app/outputs/apk/release/*.apk" + artifacts: "apps/weblibre/build/app/outputs/apk/alpha/release/*.apk" prerelease: true - name: Create github artifact release (Full) if: steps.build-type.outputs.is_prerelease == 'false' uses: ncipollo/release-action@v1.17.0 with: - artifacts: "apps/weblibre/build/app/outputs/apk/release/*.apk,apps/weblibre/build/app/outputs/bundle/release/app-release.aab" + artifacts: "apps/weblibre/build/app/outputs/apk/stable/release/*.apk,apps/weblibre/build/app/outputs/bundle/stableRelease/app-stable-release.aab" - name: Upload app bundle artifact if: steps.build-type.outputs.is_prerelease == 'false' uses: actions/upload-artifact@v4 with: name: appbundle - path: apps/weblibre/build/app/outputs/bundle/release/app-release.aab + path: apps/weblibre/build/app/outputs/bundle/stableRelease/app-stable-release.aab - name: Release to Google Play (internal) if: steps.build-type.outputs.is_prerelease == 'false' @@ -121,7 +126,7 @@ jobs: SUPPLY_JSON_KEY_DATA: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_KEY }} run: | bundle exec fastlane supply \ - --aab build/app/outputs/bundle/release/app-release.aab \ + --aab build/app/outputs/bundle/stableRelease/app-stable-release.aab \ --track internal - name: Cleanup diff --git a/.vscode/launch.json b/.vscode/launch.json index a11517b5..026e41ce 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -5,55 +5,41 @@ "version": "0.2.0", "configurations": [ { - "name": "app", - "cwd": "app", + "name": "WebLibre", + "cwd": "apps/weblibre", "request": "launch", "type": "dart", "args": [ "--device-user", - "0" + "0", + "--flavor", + "alpha" ] }, { - "name": "app (profile mode)", - "cwd": "app", + "name": "WebLibre (profile mode)", + "cwd": "apps/weblibre", "request": "launch", "type": "dart", "flutterMode": "profile", "args": [ "--device-user", - "0" + "0", + "--flavor", + "alpha" ] }, { - "name": "app (release mode)", - "cwd": "app", + "name": "WebLibre (release mode)", + "cwd": "apps/weblibre", "request": "launch", "type": "dart", "flutterMode": "release", "args": [ "--device-user", - "0" - ] - }, - { - "name": "flutter_mozilla_components", - "cwd": "packages/flutter_mozilla_components/example", - "request": "launch", - "type": "dart", - "args": [ - "--device-user", - "0" - ] - }, - { - "name": "simple_intent_receiver", - "cwd": "packages/simple_intent_receiver/example", - "request": "launch", - "type": "dart", - "args": [ - "--device-user", - "0" + "0", + "--flavor", + "alpha" ] }, ] diff --git a/apps/weblibre/android/app/build.gradle b/apps/weblibre/android/app/build.gradle index 9737cd1f..dec89641 100644 --- a/apps/weblibre/android/app/build.gradle +++ b/apps/weblibre/android/app/build.gradle @@ -48,6 +48,20 @@ android { versionName = flutterVersionName } + flavorDimensions "track" + productFlavors { + stable { + dimension "track" + manifestPlaceholders = [appName: "WebLibre"] + } + alpha { + dimension "track" + applicationIdSuffix ".alpha" + versionNameSuffix "-alpha" + manifestPlaceholders = [appName: "WebLibre Alpha"] + } + } + dependencies { // implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'androidx.glance:glance-appwidget:1.1.1' diff --git a/apps/weblibre/android/app/src/alpha/res/drawable-hdpi/ic_launcher_foreground.png b/apps/weblibre/android/app/src/alpha/res/drawable-hdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..f4436801 Binary files /dev/null and b/apps/weblibre/android/app/src/alpha/res/drawable-hdpi/ic_launcher_foreground.png differ diff --git a/apps/weblibre/android/app/src/alpha/res/drawable-hdpi/ic_launcher_monochrome.png b/apps/weblibre/android/app/src/alpha/res/drawable-hdpi/ic_launcher_monochrome.png new file mode 100644 index 00000000..f4436801 Binary files /dev/null and b/apps/weblibre/android/app/src/alpha/res/drawable-hdpi/ic_launcher_monochrome.png differ diff --git a/apps/weblibre/android/app/src/alpha/res/drawable-mdpi/ic_launcher_foreground.png b/apps/weblibre/android/app/src/alpha/res/drawable-mdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..9dc5e77b Binary files /dev/null and b/apps/weblibre/android/app/src/alpha/res/drawable-mdpi/ic_launcher_foreground.png differ diff --git a/apps/weblibre/android/app/src/alpha/res/drawable-mdpi/ic_launcher_monochrome.png b/apps/weblibre/android/app/src/alpha/res/drawable-mdpi/ic_launcher_monochrome.png new file mode 100644 index 00000000..9dc5e77b Binary files /dev/null and b/apps/weblibre/android/app/src/alpha/res/drawable-mdpi/ic_launcher_monochrome.png differ diff --git a/apps/weblibre/android/app/src/alpha/res/drawable-xhdpi/ic_launcher_foreground.png b/apps/weblibre/android/app/src/alpha/res/drawable-xhdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..bccef354 Binary files /dev/null and b/apps/weblibre/android/app/src/alpha/res/drawable-xhdpi/ic_launcher_foreground.png differ diff --git a/apps/weblibre/android/app/src/alpha/res/drawable-xhdpi/ic_launcher_monochrome.png b/apps/weblibre/android/app/src/alpha/res/drawable-xhdpi/ic_launcher_monochrome.png new file mode 100644 index 00000000..bccef354 Binary files /dev/null and b/apps/weblibre/android/app/src/alpha/res/drawable-xhdpi/ic_launcher_monochrome.png differ diff --git a/apps/weblibre/android/app/src/alpha/res/drawable-xxhdpi/ic_launcher_foreground.png b/apps/weblibre/android/app/src/alpha/res/drawable-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..cf4bf79a Binary files /dev/null and b/apps/weblibre/android/app/src/alpha/res/drawable-xxhdpi/ic_launcher_foreground.png differ diff --git a/apps/weblibre/android/app/src/alpha/res/drawable-xxhdpi/ic_launcher_monochrome.png b/apps/weblibre/android/app/src/alpha/res/drawable-xxhdpi/ic_launcher_monochrome.png new file mode 100644 index 00000000..cf4bf79a Binary files /dev/null and b/apps/weblibre/android/app/src/alpha/res/drawable-xxhdpi/ic_launcher_monochrome.png differ diff --git a/apps/weblibre/android/app/src/alpha/res/drawable-xxxhdpi/ic_launcher_foreground.png b/apps/weblibre/android/app/src/alpha/res/drawable-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..b642ffee Binary files /dev/null and b/apps/weblibre/android/app/src/alpha/res/drawable-xxxhdpi/ic_launcher_foreground.png differ diff --git a/apps/weblibre/android/app/src/alpha/res/drawable-xxxhdpi/ic_launcher_monochrome.png b/apps/weblibre/android/app/src/alpha/res/drawable-xxxhdpi/ic_launcher_monochrome.png new file mode 100644 index 00000000..b642ffee Binary files /dev/null and b/apps/weblibre/android/app/src/alpha/res/drawable-xxxhdpi/ic_launcher_monochrome.png differ diff --git a/apps/weblibre/android/app/src/alpha/res/mipmap-anydpi-v26/launcher_icon.xml b/apps/weblibre/android/app/src/alpha/res/mipmap-anydpi-v26/launcher_icon.xml new file mode 100644 index 00000000..2c8762dc --- /dev/null +++ b/apps/weblibre/android/app/src/alpha/res/mipmap-anydpi-v26/launcher_icon.xml @@ -0,0 +1,14 @@ + + + + + + + + + + diff --git a/apps/weblibre/android/app/src/alpha/res/mipmap-hdpi/launcher_icon.png b/apps/weblibre/android/app/src/alpha/res/mipmap-hdpi/launcher_icon.png new file mode 100644 index 00000000..6111b6a5 Binary files /dev/null and b/apps/weblibre/android/app/src/alpha/res/mipmap-hdpi/launcher_icon.png differ diff --git a/apps/weblibre/android/app/src/alpha/res/mipmap-mdpi/launcher_icon.png b/apps/weblibre/android/app/src/alpha/res/mipmap-mdpi/launcher_icon.png new file mode 100644 index 00000000..6e33fa92 Binary files /dev/null and b/apps/weblibre/android/app/src/alpha/res/mipmap-mdpi/launcher_icon.png differ diff --git a/apps/weblibre/android/app/src/alpha/res/mipmap-xhdpi/launcher_icon.png b/apps/weblibre/android/app/src/alpha/res/mipmap-xhdpi/launcher_icon.png new file mode 100644 index 00000000..b51d3f3f Binary files /dev/null and b/apps/weblibre/android/app/src/alpha/res/mipmap-xhdpi/launcher_icon.png differ diff --git a/apps/weblibre/android/app/src/alpha/res/mipmap-xxhdpi/launcher_icon.png b/apps/weblibre/android/app/src/alpha/res/mipmap-xxhdpi/launcher_icon.png new file mode 100644 index 00000000..4cf5c77f Binary files /dev/null and b/apps/weblibre/android/app/src/alpha/res/mipmap-xxhdpi/launcher_icon.png differ diff --git a/apps/weblibre/android/app/src/alpha/res/mipmap-xxxhdpi/launcher_icon.png b/apps/weblibre/android/app/src/alpha/res/mipmap-xxxhdpi/launcher_icon.png new file mode 100644 index 00000000..8c891d7e Binary files /dev/null and b/apps/weblibre/android/app/src/alpha/res/mipmap-xxxhdpi/launcher_icon.png differ diff --git a/apps/weblibre/android/app/src/alpha/res/values/colors.xml b/apps/weblibre/android/app/src/alpha/res/values/colors.xml new file mode 100644 index 00000000..bb6e8f03 --- /dev/null +++ b/apps/weblibre/android/app/src/alpha/res/values/colors.xml @@ -0,0 +1,4 @@ + + + #FF000000 + \ No newline at end of file diff --git a/apps/weblibre/android/app/src/main/AndroidManifest.xml b/apps/weblibre/android/app/src/main/AndroidManifest.xml index 03b7d90b..862f59df 100644 --- a/apps/weblibre/android/app/src/main/AndroidManifest.xml +++ b/apps/weblibre/android/app/src/main/AndroidManifest.xml @@ -48,7 +48,7 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ALPHA + + diff --git a/apps/weblibre/flutter_launcher_icons-alpha.yaml b/apps/weblibre/flutter_launcher_icons-alpha.yaml new file mode 100644 index 00000000..7d3927cc --- /dev/null +++ b/apps/weblibre/flutter_launcher_icons-alpha.yaml @@ -0,0 +1,7 @@ +flutter_launcher_icons: + android: "launcher_icon" + image_path: "assets/icon/icon_alpha.png" + adaptive_icon_foreground: "assets/icon/icon_alpha.png" + adaptive_icon_monochrome: "assets/icon/icon_alpha.png" + adaptive_icon_foreground_inset: 25 + adaptive_icon_background: "#FF000000" diff --git a/pubspec.yaml b/pubspec.yaml index e88ddf8c..df946712 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -78,8 +78,14 @@ melos: sh scripts/build-readability.sh python3 scripts/build_quotes_db.py build-browser: - description: Build release APK split per ABI + description: Build stable release APK split per ABI run: | set -e cd apps/weblibre - flutter build apk --release --target-platform android-arm,android-arm64 --split-per-abi --no-tree-shake-icons + flutter build apk --release --flavor stable --target-platform android-arm,android-arm64 --split-per-abi --no-tree-shake-icons + build-browser-alpha: + description: Build alpha release APK split per ABI (side-by-side installable with stable) + run: | + set -e + cd apps/weblibre + flutter build apk --release --flavor alpha --target-platform android-arm,android-arm64 --split-per-abi --no-tree-shake-icons