Fangjun Kuang
Committed by GitHub

Sign released TTS APKs (#710)

@@ -53,6 +53,23 @@ jobs: @@ -53,6 +53,23 @@ jobs:
53 run: | 53 run: |
54 python3 -m pip install --upgrade pip jinja2 iso639-lang 54 python3 -m pip install --upgrade pip jinja2 iso639-lang
55 55
  56 + - name: Setup build tool version variable
  57 + shell: bash
  58 + run: |
  59 + echo "---"
  60 + ls -lh /usr/local/lib/android/
  61 + echo "---"
  62 +
  63 + ls -lh /usr/local/lib/android/sdk
  64 + echo "---"
  65 +
  66 + ls -lh /usr/local/lib/android/sdk/build-tools
  67 + echo "---"
  68 +
  69 + BUILD_TOOL_VERSION=$(ls /usr/local/lib/android/sdk/build-tools/ | tail -n 1)
  70 + echo "BUILD_TOOL_VERSION=$BUILD_TOOL_VERSION" >> $GITHUB_ENV
  71 + echo "Last build tool version is: $BUILD_TOOL_VERSION"
  72 +
56 - name: Generate build script 73 - name: Generate build script
57 shell: bash 74 shell: bash
58 run: | 75 run: |
@@ -82,10 +99,49 @@ jobs: @@ -82,10 +99,49 @@ jobs:
82 ls -lh ./apks/ 99 ls -lh ./apks/
83 du -h -d1 . 100 du -h -d1 .
84 101
  102 + # https://github.com/marketplace/actions/sign-android-release
  103 + - uses: r0adkll/sign-android-release@v1
  104 + name: Sign app APK
  105 + with:
  106 + releaseDirectory: ./apks
  107 + signingKeyBase64: ${{ secrets.ANDROID_SIGNING_KEY }}
  108 + alias: ${{ secrets.ANDROID_SIGNING_KEY_ALIAS }}
  109 + keyStorePassword: ${{ secrets.ANDROID_SIGNING_KEY_STORE_PASSWORD }}
  110 + env:
  111 + BUILD_TOOLS_VERSION: ${{ env.BUILD_TOOL_VERSION }}
  112 +
  113 + - name: Display APK for TTS engine after signing
  114 + shell: bash
  115 + run: |
  116 + ls -lh ./apks/
  117 + du -h -d1 .
  118 +
  119 + - name: Rename APK for TTS engine after signing
  120 + shell: bash
  121 + run: |
  122 + cd apks
  123 + rm -fv signingKey.jks
  124 + rm -fv *.apk.idsig
  125 + rm -fv *-aligned.apk
  126 +
  127 + all_apks=$(ls -1 *-signed.apk)
  128 + echo "----"
  129 + echo $all_apks
  130 + echo "----"
  131 + for apk in ${all_apks[@]}; do
  132 + n=$(echo $apk | sed -e s/-signed//)
  133 + mv -v $apk $n
  134 + done
  135 +
  136 + cd ..
  137 +
  138 + ls -lh ./apks/
  139 + du -h -d1 .
  140 +
85 - uses: actions/upload-artifact@v4 141 - uses: actions/upload-artifact@v4
86 if: false 142 if: false
87 with: 143 with:
88 - name: tts-engine-apk 144 + name: tts-engine-apk-${{ matrix.index }}
89 path: ./apks/*.apk 145 path: ./apks/*.apk
90 146
91 - name: Publish to huggingface 147 - name: Publish to huggingface
@@ -53,6 +53,23 @@ jobs: @@ -53,6 +53,23 @@ jobs:
53 run: | 53 run: |
54 python3 -m pip install --upgrade pip jinja2 iso639-lang 54 python3 -m pip install --upgrade pip jinja2 iso639-lang
55 55
  56 + - name: Setup build tool version variable
  57 + shell: bash
  58 + run: |
  59 + echo "---"
  60 + ls -lh /usr/local/lib/android/
  61 + echo "---"
  62 +
  63 + ls -lh /usr/local/lib/android/sdk
  64 + echo "---"
  65 +
  66 + ls -lh /usr/local/lib/android/sdk/build-tools
  67 + echo "---"
  68 +
  69 + BUILD_TOOL_VERSION=$(ls /usr/local/lib/android/sdk/build-tools/ | tail -n 1)
  70 + echo "BUILD_TOOL_VERSION=$BUILD_TOOL_VERSION" >> $GITHUB_ENV
  71 + echo "Last build tool version is: $BUILD_TOOL_VERSION"
  72 +
56 - name: Generate build script 73 - name: Generate build script
57 shell: bash 74 shell: bash
58 run: | 75 run: |
@@ -82,10 +99,49 @@ jobs: @@ -82,10 +99,49 @@ jobs:
82 ls -lh ./apks/ 99 ls -lh ./apks/
83 du -h -d1 . 100 du -h -d1 .
84 101
  102 + # https://github.com/marketplace/actions/sign-android-release
  103 + - uses: r0adkll/sign-android-release@v1
  104 + name: Sign app APK
  105 + with:
  106 + releaseDirectory: ./apks
  107 + signingKeyBase64: ${{ secrets.ANDROID_SIGNING_KEY }}
  108 + alias: ${{ secrets.ANDROID_SIGNING_KEY_ALIAS }}
  109 + keyStorePassword: ${{ secrets.ANDROID_SIGNING_KEY_STORE_PASSWORD }}
  110 + env:
  111 + BUILD_TOOLS_VERSION: ${{ env.BUILD_TOOL_VERSION }}
  112 +
  113 + - name: Display APK for TTS engine after signing
  114 + shell: bash
  115 + run: |
  116 + ls -lh ./apks/
  117 + du -h -d1 .
  118 +
  119 + - name: Rename APK for TTS engine after signing
  120 + shell: bash
  121 + run: |
  122 + cd apks
  123 + rm -fv signingKey.jks
  124 + rm -fv *.apk.idsig
  125 + rm -fv *-aligned.apk
  126 +
  127 + all_apks=$(ls -1 *-signed.apk)
  128 + echo "----"
  129 + echo $all_apks
  130 + echo "----"
  131 + for apk in ${all_apks[@]}; do
  132 + n=$(echo $apk | sed -e s/-signed//)
  133 + mv -v $apk $n
  134 + done
  135 +
  136 + cd ..
  137 +
  138 + ls -lh ./apks/
  139 + du -h -d1 .
  140 +
85 - uses: actions/upload-artifact@v4 141 - uses: actions/upload-artifact@v4
86 if: false 142 if: false
87 with: 143 with:
88 - name: tts-apk 144 + name: tts-apk-${{ matrix.index }}
89 path: ./apks/*.apk 145 path: ./apks/*.apk
90 146
91 - name: Publish to huggingface 147 - name: Publish to huggingface
@@ -84,10 +84,10 @@ for arch in arm64-v8a armeabi-v7a x86_64 x86; do @@ -84,10 +84,10 @@ for arch in arm64-v8a armeabi-v7a x86_64 x86; do
84 pushd ./android/SherpaOnnxTtsEngine 84 pushd ./android/SherpaOnnxTtsEngine
85 sed -i.bak s/2048/9012/g ./gradle.properties 85 sed -i.bak s/2048/9012/g ./gradle.properties
86 git diff ./gradle.properties 86 git diff ./gradle.properties
87 - ./gradlew build 87 + ./gradlew assembleRelease
88 popd 88 popd
89 89
90 - mv android/SherpaOnnxTtsEngine/app/build/outputs/apk/debug/app-debug.apk ./apks/sherpa-onnx-${SHERPA_ONNX_VERSION}-$arch-$lang-tts-engine-$model_dir.apk 90 + mv android/SherpaOnnxTtsEngine/app/build/outputs/apk/release/app-release-unsigned.apk ./apks/sherpa-onnx-${SHERPA_ONNX_VERSION}-$arch-$lang-tts-engine-$model_dir.apk
91 ls -lh apks 91 ls -lh apks
92 rm -v ./android/SherpaOnnxTtsEngine/app/src/main/jniLibs/$arch/*.so 92 rm -v ./android/SherpaOnnxTtsEngine/app/src/main/jniLibs/$arch/*.so
93 done 93 done
@@ -82,10 +82,10 @@ for arch in arm64-v8a armeabi-v7a x86_64 x86; do @@ -82,10 +82,10 @@ for arch in arm64-v8a armeabi-v7a x86_64 x86; do
82 pushd ./android/SherpaOnnxTts 82 pushd ./android/SherpaOnnxTts
83 sed -i.bak s/2048/9012/g ./gradle.properties 83 sed -i.bak s/2048/9012/g ./gradle.properties
84 git diff ./gradle.properties 84 git diff ./gradle.properties
85 - ./gradlew build 85 + ./gradlew assembleRelease
86 popd 86 popd
87 87
88 - mv android/SherpaOnnxTts/app/build/outputs/apk/debug/app-debug.apk ./apks/sherpa-onnx-${SHERPA_ONNX_VERSION}-$arch-$lang-tts-$model_dir.apk 88 + mv android/SherpaOnnxTts/app/build/outputs/apk/release/app-release-unsigned.apk ./apks/sherpa-onnx-${SHERPA_ONNX_VERSION}-$arch-$lang-tts-$model_dir.apk
89 ls -lh apks 89 ls -lh apks
90 rm -v ./android/SherpaOnnxTts/app/src/main/jniLibs/$arch/*.so 90 rm -v ./android/SherpaOnnxTts/app/src/main/jniLibs/$arch/*.so
91 done 91 done