CI: development builds are now signed with publically-shared key

This commit adds keystore which is shared with community. People freely can
use it for creating own Termux app and plugin builds. However, builds signed
with such keystore cannot be proven as official.

Signed-off-by: Leonid Plyushch <leonid.plyushch@gmail.com>
This commit is contained in:
Leonid Plyushch
2019-10-06 22:30:57 +03:00
parent 0332779d6a
commit 33d390a228
3 changed files with 19 additions and 26 deletions

View File

@@ -4,37 +4,17 @@ container:
memory: 8G
task:
name: Run tests
name: tests
script: ./gradlew test
task:
name: Build release apk
name: debug-build
depends_on:
- Run tests
environment:
KEYSTORE: ENCRYPTED[e3fa3d741db3c2929acabef0c954e995b7f86d8229f7796199ce6e15ae98cb8eae16b2e498b9daeafff35e1f3aba3f8f]
KEYSTORE_PASSWORD: ENCRYPTED[2761e799baef14b1c822dfcbe5a40ba3ae8e8c13be25563baed28ff35f66e51fa725aa9dcd29c0698023cd04a8ebd604]
- tests
build_release_apk_script: |
./gradlew assembleRelease
./gradlew assembleDebug
build_apksigner_script: |
cd ../
git clone https://github.com/fornwall/apksigner
cd apksigner
./gradlew
cp ./build/libs/apksigner-all.jar /tmp/apksigner.jar
sign_release_apk_script: |
echo "$KEYSTORE" | base64 -d > keystore.jks
java -jar /tmp/apksigner.jar -p "$KEYSTORE_PASSWORD" keystore.jks \
./app/build/outputs/apk/release/app-release-unsigned.apk \
./termux-release-g${CIRRUS_CHANGE_IN_REPO:0:8}.apk
release_artifacts:
path: "./*.apk"
unsigned_artifacts:
path: "./app/build/outputs/apk/release/*.apk"
output_artifacts:
path: "./app/build/outputs/apk/debug/*.apk"

View File

@@ -18,12 +18,25 @@ android {
versionName "0.75"
}
signingConfigs {
debug {
storeFile file('dev_keystore.jks')
keyAlias 'alias'
storePassword 'xrj45yWGLbsO7W0v'
keyPassword 'xrj45yWGLbsO7W0v'
}
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
signingConfig signingConfigs.debug
}
}
compileOptions {

BIN
app/dev_keystore.jks Normal file

Binary file not shown.