Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split fdroid apk by architecture #167

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 42 additions & 13 deletions .github/workflows/build_app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,34 +71,60 @@ jobs:

# F-Droid Build

- name: Find latest android build tools apksigner path
run: |
APKSIGNER=$(find $ANDROID_SDK_ROOT/build-tools -name apksigner | sort -r | head -n 1)
Robbendebiene marked this conversation as resolved.
Show resolved Hide resolved
echo $APKSIGNER
echo "APKSIGNER=$APKSIGNER" >> "$GITHUB_ENV"

- name: Override dependencies in pubspec.yaml to be FLOSS
run: |
yq -y -i '.dependency_overrides.geolocator_android.git = {"url": "https://github.com/Zverik/flutter-geolocator.git", "ref": "floss", "path": "geolocator_android"}' pubspec.yaml

- name: Download pub dependencies
- name: Re-Download pub dependencies
run: flutter pub get

- name: Build F-Droid APK
run: >-
flutter build apk
--dart-define=THUNDERFOREST_API_KEY=${{ secrets.THUNDERFOREST_API_KEY }}
--dart-define=IS_RELEASE=true
--split-per-abi

# Required because F-Droid signs its apk with apksigner which produces a slightly different output than gradle signingConfig
# see: https://f-droid.org/docs/Reproducible_Builds/#reproducible-signatures
- name: Sign with apksigner
- name: Sign armeabi-v7a with apksigner
run: >-
$APKSIGNER sign
--ks-key-alias ${{ secrets.ANDROID_KEY_ALIAS }}
--ks-pass pass:"${{ secrets.ANDROID_KEYSTORE_PASSWORD }}"
--ks key.jks
build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk

- name: Sign arm64-v8a with apksigner
run: >-
$(find $ANDROID_SDK_ROOT/build-tools -name apksigner | sort -r | head -n 1) sign
$APKSIGNER sign
--ks-key-alias ${{ secrets.ANDROID_KEY_ALIAS }}
--ks-pass pass:"${{ secrets.ANDROID_KEYSTORE_PASSWORD }}"
--ks key.jks
build/app/outputs/flutter-apk/app-release.apk
build/app/outputs/flutter-apk/app-arm64-v8a-release.apk

- name: Upload F-Droid APK artifact
- name: Sign x86_64 with apksigner
run: >-
$APKSIGNER sign
--ks-key-alias ${{ secrets.ANDROID_KEY_ALIAS }}
--ks-pass pass:"${{ secrets.ANDROID_KEYSTORE_PASSWORD }}"
--ks key.jks
build/app/outputs/flutter-apk/app-x86_64-release.apk

- name: Upload F-Droid APKs artifact
uses: actions/upload-artifact@v3
with:
name: apk-fdroid
path: build/app/outputs/flutter-apk/app-release.apk
name: fdroid-apks
path: |
build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk
build/app/outputs/flutter-apk/app-arm64-v8a-release.apk
build/app/outputs/flutter-apk/app-x86_64-release.apk

build_ios:
name: Build for iOS
Expand Down Expand Up @@ -184,10 +210,11 @@ jobs:
mv app/apk/app-release.apk
app/OpenStop_${{ github.ref_name }}.apk

- name: Rename Android F-Droid APK
run: >-
mv app/apk-fdroid/app-release.apk
app/OpenStop_fdroid_${{ github.ref_name }}.apk
- name: Rename Android F-Droid APKs
run: |
mv app/fdroid-apks/app-armeabi-v7a-release.apk app/OpenStop_fdroid_${{ github.ref_name }}_armeabi-v7a.apk
mv app/fdroid-apks/app-arm64-v8a-release.apk app/OpenStop_fdroid_${{ github.ref_name }}_arm64-v8a.apk
mv app/fdroid-apks/app-x86_64-release.apk app/OpenStop_fdroid_${{ github.ref_name }}_x86_64.apk

- name: Rename App Bundle
run: >-
Expand All @@ -202,11 +229,13 @@ jobs:
- name: Upload AAB, APK, IPA to draft release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ github.ref }}
tag_name: ${{ github.ref_name }}
name: OpenStop ${{ github.ref_name }}
files: |
app/OpenStop_${{ github.ref_name }}.apk
app/OpenStop_fdroid_${{ github.ref_name }}.apk
app/OpenStop_fdroid_${{ github.ref_name }}_armeabi-v7a.apk
app/OpenStop_fdroid_${{ github.ref_name }}_arm64-v8a.apk
app/OpenStop_fdroid_${{ github.ref_name }}_x86_64.apk
app/OpenStop_${{ github.ref_name }}.aab
app/OpenStop_${{ github.ref_name }}.ipa
draft: true
Expand Down