From 33d390a2286c42d247653a45e038bf8641f7f8d9 Mon Sep 17 00:00:00 2001 From: Leonid Plyushch Date: Sun, 6 Oct 2019 22:30:57 +0300 Subject: [PATCH] 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 --- .cirrus.yml | 32 ++++++-------------------------- app/build.gradle | 13 +++++++++++++ app/dev_keystore.jks | Bin 0 -> 2097 bytes 3 files changed, 19 insertions(+), 26 deletions(-) create mode 100644 app/dev_keystore.jks diff --git a/.cirrus.yml b/.cirrus.yml index 72d9b530..74f9ae13 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -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" diff --git a/app/build.gradle b/app/build.gradle index b3b1d12e..2bf47f80 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -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 { diff --git a/app/dev_keystore.jks b/app/dev_keystore.jks new file mode 100644 index 0000000000000000000000000000000000000000..174cc95acd605bf557f9e63983f55fadc5ae44bd GIT binary patch literal 2097 zcmbW1dpOgJAIJCIMROk`WY(HSNXCZ42syb#xvfbXBITaTl-rTawPUPoP84wxvzSX) z*WsklYK7d&_2d##Bndwpzsq@^^Y`zM_aCq4^E{vDb9tWE*22~T2m}J}1o%&2J|TfV z^c@OikDxq3AQ*sWKsWI+ViG!H02I&$%K-ok1Z6;H@f7nw;XKE~r-Rc}UysG8b8`+3 zaKmS-jr5o{SCP8uu-J*^GyFYRWhu#0 z>t<$WClxHdNaB(zFReHwKYsVzqu=L%i!WGRZZ$pf#Yu6ZsC9QL5?Q;;{^9wK<&0DX zmNu_>81-1Q>Z#=y4=1WFfT+3S>UR4SO7BkZT+dH`z?dc%PuSvpeuPv6|!-(VL zQ^%PiH=6;~;fxshnQJ)l$%_Sy6P#FyTqWbyP>t=M_}R}SXYn_xQIwBH^PG6a-0GB2 zL?60;HtO2fX;T;X(87|~0+Xc%yo$kU>6XS*3{4#~(zS>~Z$$XTsXmgoP0Tx#P5nXG z*U>26+8Y5;Nd9qR!q^9%=&_|A`=*=kp6)-zCn201>!oE?Hv{DYR75qdA|-EAcLzkQ0^ z4L@?sdV*7{T#(@@M(@%cCuOf!pT8Z?9D<$ZY8ocpxYjs1q(l0QB)yp9kSA+FoYLTSkVls8Uw{^G@haj;DuNC7}h_X;^R+~$L zV-@=2`u7B2Z~CVY9^3TQ7hT)aN4*vvmDgIcSs|pKEoP&vvn&|L=w#$b1MX_?HqE$c zpW{q|bEe=un!~bliG4?rX}5khF5bBwmiCQ960)*8UBp7iU8(g03D}xKue`e}ieXW% zjm8+l`Vf^@7j}Ho$!=_%QCvTi-g^$wmc03kgLYD`npCbNwlffW*2AI8sc}_DXwCHr z-@8;~J52g?$t9uGoUAWxq&pEXaBY;HLgpE&A*Spt%{x22X}df;g)Deq>z#p0EB67j zW?-LWLJxxJ`jci9G$!c>eZd*6R15bVuqxH*&-4A|R^65U#O)S6cn{Um9v-PTj?;VH z9MZr4yLF35(5bW+{^2tD0FS<$WaUn^#8=aPC@l1Fjxd=$6VdRd0!O3adhgf{_4VW} z%dYR=5@`1;>H~_~1hS8{wqnH$C!95bZcbcYm#le-#h?H6;;BQ1c#|Dd&fyv0X*>fE z6+^%P7!1`CXvO2D#l*GK?9x`HcjO2I;SKd=@KR!slTZmM*ioOzsDQs&@^41s<^ElV zNJ&^ZJ7C-b{V$x0#G{p@^-b_5c!B|8C&bfA(nJ$|yn*5W@c(Vg0I>fYa7W(|1|SRC z*+Bx#007Xh&mlofl_28n{OOYvrmei(5x-+yIrQpFpKOC|9hel40EfK3H?pz+bGf3Q(Mm1cQ|0SMc{5q|O$1xYI6K~wZbHQ@LY(AB9xR1p zx{#m))|5T&e2aFropN%LDHU-uG^2A9Hrt7$z z$&)?RR2OfPY?S=Y=~L0zh$PV}&9$UxQHh-tOW-=1bQsdgTp~e>6!Gq)xi*X8w#=U?cKT z8*?>+z+Zj0>2M8GE4X=J=Byb-5UB%N{6dp0RQXbp<3u4JlnE5@$Y43o# z_bJkeeSx@OVPD8{OyQ(G!Ef=G0Ir^B^L7S_e^tXet#;c#NCUT@4=iL}$h0=yR-Y~c hj~#VhH9HJD9eBKXgx6a9(6#$et0J;JPJugM`WN=>nzsM| literal 0 HcmV?d00001