Support of apk signing for tag-deploy workflow

This commit is contained in:
Dmitriy Karpushin 2023-01-16 14:30:08 +03:00
parent e8242aec85
commit 32cbb698ee
2 changed files with 30 additions and 20 deletions

View file

@ -97,6 +97,28 @@ jobs:
distribution: 'temurin'
java-version: '11'
- name: 'Getting keystore'
uses: actions/checkout@v3
with:
repository: amnezia-vpn/amnezia-android-certificates
token: ${{ secrets.CERTS_ACCESS_TOKEN }}
- name: 'Install Android Build Tools'
run: |
RUNNER_TMP_DIR=${{ runner.temp }}
ANDROID_BUILD_TOOLS_VERSION=30.0.3
BUILD_TOOLS_UNZIP_PATH=$RUNNER_TMP_DIR/build-tools
BUILD_TOOLS_ARCHIVE=$RUNNER_TMP_DIR/build-tools.zip
if [ ! -f $BUILD_TOOLS_UNZIP_PATH ]; then
wget http://dl.google.com/android/repository/build-tools_r${ANDROID_BUILD_TOOLS_VERSION}-linux.zip -qO $BUILD_TOOLS_ARCHIVE;
unzip -q -d $BUILD_TOOLS_UNZIP_PATH $BUILD_TOOLS_ARCHIVE;
fi
export BUILD_TOOLS_PATH=$RUNNER_TMP_DIR/build-tools/android-11
- name: 'Build project'
run: |
export QT_HOST_PATH="${{ runner.temp }}/Qt/${{ env.QT_VERSION }}/gcc_64"
@ -113,8 +135,13 @@ jobs:
export QT_BIN_DIR=${{ runner.temp }}/Qt/${{ env.QT_VERSION }}/android_arm64_v8a/bin
bash deploy/build_android.sh
- name: 'Signing APK'
run: |
${BUILD_TOOLS_PATH}/zipalign -f -v 4 AmneziaVPN-release-unsigned.apk AmneziaVPN-release-aligned.apk
${BUILD_TOOLS_PATH}/apksigner sign --out AmneziaVPN-release-signed.apk --ks debug.keystore --ks-key-alias ${{ secrets.DEBUG_KEYSTORE_KEY_ALIAS }} --ks-pass pass:${{secrets.DEBUG_KEYSTOTE_KEY_PASS }} AmneziaVPN-release-aligned.apk
- name: 'Upload'
uses: actions/upload-artifact@v3
with:
name: Release APK
path: deploy/build/client/android-build/build/outputs/apk/release/android-build-release-unsigned.apk
path: ${{ runner.temp }}/AmneziaVPN-release-signed.apk

View file

@ -20,12 +20,6 @@ APP_DOMAIN=org.amneziavpn.package
OUT_APP_DIR=$BUILD_DIR/client
BUNDLE_DIR=$OUT_APP_DIR/$APP_FILENAME
INSTALLER_DATA_DIR=$BUILD_DIR/installer/packages/$APP_DOMAIN/data
INSTALLER_BUNDLE_DIR=$BUILD_DIR/installer/$APP_FILENAME
PRO_FILE_PATH=$PROJECT_DIR/$APP_NAME.pro
QMAKE_STASH_FILE=$PROJECT_DIR/.qmake_stash
# Seacrh Qt
if [ -z "${QT_VERSION+x}" ]; then
QT_VERSION=5.15.2;
@ -36,10 +30,6 @@ echo "Using Qt in $QT_BIN_DIR"
echo "Using Android SDK in $ANDROID_SDK_ROOT"
echo "Using Android NDK in $ANDROID_NDK_ROOT"
# Checking env
# $QT_BIN_DIR/qmake -v
# $ANDROID_NDK_HOME/prebuilt/linux-x86_64/bin/make -v
# Build App
echo "Building App..."
cd $BUILD_DIR
@ -53,14 +43,7 @@ $QT_BIN_DIR/qt-cmake -S $PROJECT_DIR \
cmake --build . --config release
# $QT_BIN_DIR/qmake -r -spec android-clang CONFIG+=qtquickcompiler ANDROID_ABIS="armeabi-v7a arm64-v8a x86 x86_64" $PROJECT_DIR/AmneziaVPN.pro
# echo "Executing make... may take long time"
# $ANDROID_NDK_HOME/prebuilt/linux-x86_64/bin/make -j2
# echo "Make install..."
# $ANDROID_NDK_HOME/prebuilt/linux-x86_64/bin/make install INSTALL_ROOT=android
# echo "Build OK"
echo "............Deploy.................."
echo "............APK generation.................."
cd $OUT_APP_DIR
$QT_HOST_PATH/bin/androiddeployqt \
@ -68,7 +51,7 @@ $QT_HOST_PATH/bin/androiddeployqt \
--gradle \
--release \
--input android-AmneziaVPN-deployment-settings.json
echo "............Copy apk.................."
cp $OUT_APP_DIR/android-build/build/outputs/apk/release/android-build-release-unsigned.apk \
$PROJECT_DIR/AmneziaVPN-release-unsigned.apk