Skip to content

Commit 3ff4afb

Browse files
committed
ci: add dev-only Android armv7/arm64-v8a build on Qt 6.10.1
1 parent 1c188f7 commit 3ff4afb

1 file changed

Lines changed: 121 additions & 0 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -913,6 +913,127 @@ jobs:
913913
archive: false
914914
retention-days: 7
915915

916+
# ------------------------------------------------------
917+
918+
Build-Android-Qt610:
919+
runs-on: android-runner
920+
921+
needs: Bake-Prebuilts-Android
922+
if: ${{ always() && github.ref == 'refs/heads/dev' }}
923+
924+
env:
925+
ANDROID_PLATFORM: android-28
926+
NDK_VERSION: 27.0.11718014
927+
QT_VERSION: 6.10.1
928+
QT_MODULES: 'qtremoteobjects qt5compat qtimageformats qtshadertools'
929+
PROD_AGW_PUBLIC_KEY: ${{ secrets.PROD_AGW_PUBLIC_KEY }}
930+
PROD_S3_ENDPOINT: ${{ secrets.PROD_S3_ENDPOINT }}
931+
FALLBACK_S3_ENDPOINT: ${{ secrets.FALLBACK_S3_ENDPOINT }}
932+
DEV_AGW_PUBLIC_KEY: ${{ secrets.DEV_AGW_PUBLIC_KEY }}
933+
DEV_AGW_ENDPOINT: ${{ secrets.DEV_AGW_ENDPOINT }}
934+
DEV_S3_ENDPOINT: ${{ secrets.DEV_S3_ENDPOINT }}
935+
FREE_V2_ENDPOINT: ${{ secrets.FREE_V2_ENDPOINT }}
936+
PREM_V1_ENDPOINT: ${{ secrets.PREM_V1_ENDPOINT }}
937+
938+
steps:
939+
- name: 'Get sources'
940+
uses: actions/checkout@v4
941+
with:
942+
submodules: 'true'
943+
944+
- name: 'Install desktop Qt'
945+
uses: jurplel/install-qt-action@v4
946+
with:
947+
version: ${{ env.QT_VERSION }}
948+
host: 'linux'
949+
target: 'desktop'
950+
arch: 'linux_gcc_64'
951+
modules: ${{ env.QT_MODULES }}
952+
dir: ${{ runner.temp }}
953+
py7zrversion: '==0.22.*'
954+
extra: '--base ${{ env.QT_MIRROR }}'
955+
956+
- name: 'Install android_armv7 Qt'
957+
uses: jurplel/install-qt-action@v4
958+
with:
959+
version: ${{ env.QT_VERSION }}
960+
host: 'linux'
961+
target: 'android'
962+
arch: 'android_armv7'
963+
modules: ${{ env.QT_MODULES }}
964+
dir: ${{ runner.temp }}
965+
py7zrversion: '==0.22.*'
966+
extra: '--base ${{ env.QT_MIRROR }}'
967+
968+
- name: 'Install android_arm64_v8a Qt'
969+
uses: jurplel/install-qt-action@v4
970+
with:
971+
version: ${{ env.QT_VERSION }}
972+
host: 'linux'
973+
target: 'android'
974+
arch: 'android_arm64_v8a'
975+
modules: ${{ env.QT_MODULES }}
976+
dir: ${{ runner.temp }}
977+
py7zrversion: '==0.22.*'
978+
extra: '--base ${{ env.QT_MIRROR }}'
979+
980+
- name: 'Setup Java'
981+
uses: actions/setup-java@v4
982+
with:
983+
distribution: 'temurin'
984+
java-version: '17'
985+
986+
- name: 'Setup Android SDK'
987+
uses: android-actions/setup-android@v4
988+
with:
989+
packages: "platforms;${{ env.ANDROID_PLATFORM }} ndk;${{ env.NDK_VERSION }}"
990+
991+
- name: 'Setup python'
992+
uses: actions/setup-python@v6
993+
with:
994+
python-version: 3.14
995+
996+
- name: 'Install conan'
997+
run: pip install "conan==2.28.0"
998+
999+
- name: 'Decode keystore secret to file'
1000+
env:
1001+
KEYSTORE_BASE64: ${{ secrets.ANDROID_RELEASE_KEYSTORE_BASE64 }}
1002+
shell: bash
1003+
run: |
1004+
echo $KEYSTORE_BASE64 | base64 --decode > android.keystore
1005+
1006+
- name: 'Build project'
1007+
env:
1008+
QT_INSTALL_DIR: ${{ runner.temp }}
1009+
QT_ANDROID_KEYSTORE_PATH: ${{ github.workspace }}/android.keystore
1010+
QT_ANDROID_KEYSTORE_ALIAS: ${{ secrets.ANDROID_RELEASE_KEYSTORE_KEY_ALIAS }}
1011+
QT_ANDROID_KEYSTORE_STORE_PASS: ${{ secrets.ANDROID_RELEASE_KEYSTORE_KEY_PASS }}
1012+
shell: bash
1013+
run: |
1014+
for abi in arm64-v8a armeabi-v7a; do
1015+
deploy/build.sh -t android --sign --abi ${abi} --build ./deploy/build/${abi}
1016+
1017+
VERSION=$(grep CMAKE_PROJECT_VERSION:STATIC deploy/build/${abi}/CMakeCache.txt | cut -d= -f2)
1018+
(cd deploy/build/${abi}/client/android-build && mv AmneziaVPN.apk AmneziaVPN_${VERSION}_android9+_qt_6_10_${abi}.apk)
1019+
done
1020+
1021+
- name: 'Upload arm64-v8a APK'
1022+
uses: actions/upload-artifact@v7
1023+
with:
1024+
path: deploy/build/arm64-v8a/client/android-build/*.apk
1025+
archive: false
1026+
retention-days: 7
1027+
1028+
- name: 'Upload armeabi-v7a APK'
1029+
uses: actions/upload-artifact@v7
1030+
with:
1031+
path: deploy/build/armeabi-v7a/client/android-build/*.apk
1032+
archive: false
1033+
retention-days: 7
1034+
1035+
# ------------------------------------------------------
1036+
9161037
Extra:
9171038
runs-on: ubuntu-latest
9181039
steps:

0 commit comments

Comments
 (0)