The command is:
/opt/reyboz/android/bin/publish-latest-branch-build.sh ${buildable.revision}
Source code:
This step will copy the built .apk to an indexed HTTP directory exposed by Apache:
Passed |
The command is:
/opt/reyboz/android/bin/publish-latest-branch-build.sh ${buildable.revision}
Source code:
This step will copy the built .apk to an indexed HTTP directory exposed by Apache:
1 | % Total % Received % Xferd Average Speed Time Time Time Current |
---|---|
2 | Dload Upload Total Spent Left Speed |
3 | |
4 | 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 |
5 | 100 1091 100 773 100 318 5992 2465 --:--:-- --:--:-- --:--:-- 8457 |
6 |
1 | Current directory: |
---|---|
2 | /var/drydock/workingcopy-112/repo/libre-busto |
3 | Calculating sha256sum of: |
4 | ./app/build/outputs/apk/gitpull/app-gitpull-signed.apk |
5 | File info |
6 | -rw-r--r-- 1 phabricator-android-builder phabricator-android-builder 9712032 Sep 19 01:28 ./app/build/outputs/apk/gitpull/app-gitpull-signed.apk |
7 | Cleaning old builds |
8 | Update checksums |
9 | Published here: |
10 | https://lab.reyboz.it/builds/libre-busto/D165-libre-busto.apk |
11 | {"ok":true,"result":{"message_id":7181,"from":{"id":7507357656,"is_bot":true,"first_name":"GitPull.it Phorge bot","username":"gitpullit_phorge_bot"},"chat":{"id":-1001282771908,"title":"Libre BusTO dev community ediscion","username":"librebusto_dev","type":"supergroup"},"date":1726702133,"text":"Dear hackers, please review this promising patch:\nhttps://gitpull.it/D165\n\nHere a fresh build based on that:\nDownload APK D165\n\nsha256:\n571e7962511af16c6a4804f234edf9e26d0efcb13cc8c8e1ca2adf4dde2c59fb","entities":[{"offset":50,"length":23,"type":"url"},{"offset":109,"length":17,"type":"text_link","url":"https://lab.reyboz.it/builds/libre-busto/D165-libre-busto.apk"},{"offset":136,"length":64,"type":"code"}],"link_preview_options":{"url":"https://gitpull.it/D165"}}}Adding bipbop Comment to D165 |
12 | Cleaning |
13 | Done |
14 |
Passed |
This script is available here on gargantua.reyboz.it accessible to the Unix user phabricator-android-builder:
/opt/reyboz/android/bin/align-sign-fabione.sh
In general it does that:
#!/bin/sh # https://gitpull.it/harbormaster/step/view/16/ BASEDIR="app/build/outputs/apk/gitpull" OUT="app-gitpull-signed.apk" APK_UNSIGNED="app-gitpull-unsigned.apk" APK_ALIGNED="app-gitpull-unsigned-aligned.apk" KEYSTORE="/home/phabricator-android-builder/private-resources/gitpullkeystore-libre-busto.jks" PASSPHRASE="<omissis> echo "Entering in $BASEDIR" cd "$BASEDIR" echo "Aligning zip" ~/bin/zipalign -v -p 4 "$APK_UNSIGNED" "$APK_ALIGNED" echo "Signing APK" # NOTE: keep keystore unsescaped ~/bin/apksigner sign --ks "$KEYSTORE" --out "$OUT" --ks-pass pass:"$PASSPHRASE" "$APK_ALIGNED" echo "Sign concluded with exit status $?"
1137 | 8129558 res/tt.xml (OK - compressed) |
---|---|
1138 | 8129985 res/tv.xml (OK - compressed) |
1139 | 8130984 res/u0.xml (OK - compressed) |
1140 | 8131637 res/u01.xml (OK - compressed) |
1141 | 8132076 res/u3.png (OK) |
1142 | 8132632 res/uE.webp (OK) |
1143 | 8146952 res/uI.xml (OK - compressed) |
1144 | 8148011 res/uJ.xml (OK - compressed) |
1145 | 8148488 res/uL.9.png (OK) |
1146 | 8149494 res/uR.xml (OK - compressed) |
1147 | 8150060 res/uS.png (OK) |
1148 | 8150222 res/ua.xml (OK - compressed) |
1149 | 8150560 res/uh.png (OK) |
1150 | 8152368 res/uj.9.png (OK) |
1151 | 8152608 res/ut.9.png (OK) |
1152 | 8153404 res/uu.9.png (OK) |
1153 | 8153648 res/uy.xml (OK - compressed) |
1154 | 8155253 res/v-.xml (OK - compressed) |
1155 | 8155768 res/v4.9.png (OK) |
1156 | 8156016 res/v5.xml (OK - compressed) |
1157 | 8156340 res/vF.xml (OK - compressed) |
1158 | 8156597 res/vG.xml (OK - compressed) |
1159 | 8157234 res/vH.xml (OK - compressed) |
1160 | 8157568 res/vJ.xml (OK - compressed) |
1161 | 8157896 res/vL.9.png (OK) |
1162 | 8158159 res/vR.xml (OK - compressed) |
1163 | 8158424 res/vT.xml (OK - compressed) |
1164 | 8158652 res/vZ.xml (OK - compressed) |
1165 | 8158909 res/vf.xml (OK - compressed) |
1166 | 8159237 res/vl.xml (OK - compressed) |
1167 | 8159805 res/vq.xml (OK - compressed) |
1168 | 8160381 res/vy.xml (OK - compressed) |
1169 | 8160868 res/vz.9.png (OK) |
1170 | 8161089 res/vz.xml (OK - compressed) |
1171 | 8161340 res/w7.png (OK) |
1172 | 8161650 res/w7.xml (OK - compressed) |
1173 | 8162380 res/w9.xml (OK - compressed) |
1174 | 8162656 res/wL.9.png (OK) |
1175 | 8163136 res/wN.9.png (OK) |
1176 | 8163401 res/wP.xml (OK - compressed) |
1177 | 8163756 res/wR.png (OK) |
1178 | 8170868 res/wT.png (OK) |
1179 | 8172712 res/w_.png (OK) |
1180 | 8172968 res/wb.png (OK) |
1181 | 8178900 res/wf.png (OK) |
1182 | 8183197 res/wi.xml (OK - compressed) |
1183 | 8183572 res/wy.png (OK) |
1184 | 8184040 res/x3.9.png (OK) |
1185 | 8184292 res/xH.png (OK) |
1186 | 8184518 res/xI.xml (OK - compressed) |
1187 | 8185221 res/xM.ttf (OK - compressed) |
1188 | 8244911 res/xN.xml (OK - compressed) |
1189 | 8245744 res/xQ.xml (OK - compressed) |
1190 | 8246232 res/xR.9.png (OK) |
1191 | 8246468 res/xa.9.png (OK) |
1192 | 8246729 res/xa.xml (OK - compressed) |
1193 | 8247291 res/xd.xml (OK - compressed) |
1194 | 8248006 res/xj.xml (OK - compressed) |
1195 | 8248298 res/xo.xml (OK - compressed) |
1196 | 8248584 res/xq.xml (OK - compressed) |
1197 | 8248970 res/xz.xml (OK - compressed) |
1198 | 8250161 res/y-.xml (OK - compressed) |
1199 | 8250432 res/y3.png (OK) |
1200 | 8258134 res/y4.xml (OK - compressed) |
1201 | 8258390 res/y9.xml (OK - compressed) |
1202 | 8258657 res/yE.xml (OK - compressed) |
1203 | 8258912 res/yH.9.png (OK) |
1204 | 8259136 res/yO.xml (OK - compressed) |
1205 | 8259386 res/yT.xml (OK - compressed) |
1206 | 8259709 res/yV.xml (OK - compressed) |
1207 | 8260052 res/yY.9.png (OK) |
1208 | 8260278 res/yY.xml (OK - compressed) |
1209 | 8260563 res/ya.xml (OK - compressed) |
1210 | 8260920 res/yd.png (OK) |
1211 | 8272856 res/ye.png (OK) |
1212 | 8274052 res/yg.9.png (OK) |
1213 | 8274487 res/yj.xml (OK - compressed) |
1214 | 8274884 res/yn.png (OK) |
1215 | 8277368 res/z-.9.png (OK) |
1216 | 8277632 res/z9.9.png (OK) |
1217 | 8278092 res/zE.png (OK) |
1218 | 8278456 res/zG.xml (OK - compressed) |
1219 | 8278776 res/zL.png (OK) |
1220 | 8279024 res/zP.png (OK) |
1221 | 8296984 res/zR.png (OK) |
1222 | 8299785 res/zR.xml (OK - compressed) |
1223 | 8300272 res/zV.9.png (OK) |
1224 | 8302776 res/zZ.png (OK) |
1225 | 8309471 res/zc.xml (OK - compressed) |
1226 | 8309920 res/zp.xml (OK - compressed) |
1227 | 8310177 res/zq.xml (OK - compressed) |
1228 | 8310488 res/zr.png (OK) |
1229 | 8313307 res/zu.xml (OK - compressed) |
1230 | 8314340 res/zz.png (OK) |
1231 | 8315264 res/zz.xml (OK - compressed) |
1232 | 8315456 resources.arsc (OK) |
1233 | Verification succesful |
1234 | Signing APK |
1235 | Sign concluded with exit status 0 |
1236 |
Passed |
This step will build an .apk using Gradle.
sudo apt install openjdk-11-jre-headless
Then aliased this gradle:
https://gitlab.com/fdroid/fdroidserver/-/blob/master/gradlew-fdroid
1 | Note: Some input files use or override a deprecated API. |
---|---|
2 | Note: Recompile with -Xlint:deprecation for details. |
3 | /var/drydock/workingcopy-112/repo/libre-busto/app/src/gitpull/AndroidManifest.xml:4: Error: Mock locations should only be requested in a test or debug-specific manifest file (typically src/debug/AndroidManifest.xml) [MockLocation] |
4 | <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/> |
5 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
6 | |
7 | Explanation for issues of type "MockLocation": |
8 | Using a mock location provider (by requiring the permission |
9 | android.permission.ACCESS_MOCK_LOCATION) should only be done in debug |
10 | builds (or from tests). In Gradle projects, that means you should only |
11 | request this permission in a test or debug source set specific manifest |
12 | file. |
13 | |
14 | To fix this, create a new manifest file in the debug folder and move the |
15 | <uses-permission> element there. A typical path to a debug manifest |
16 | override file in a Gradle project is src/debug/AndroidManifest.xml. |
17 | |
18 | 1 errors, 0 warnings |
19 | |
20 |
17 | > Task :app:processGitpullManifest |
---|---|
18 | > Task :app:extractProguardFiles |
19 | > Task :app:mergeGitpullJniLibFolders |
20 | > Task :app:javaPreCompileGitpull |
21 | > Task :app:mergeGitpullNativeLibs NO-SOURCE |
22 | > Task :app:stripGitpullDebugSymbols NO-SOURCE |
23 | > Task :app:extractGitpullNativeSymbolTables NO-SOURCE |
24 | > Task :app:mergeGitpullNativeDebugMetadata NO-SOURCE |
25 | > Task :app:desugarGitpullFileDependencies |
26 | > Task :app:mergeGitpullShaders |
27 | > Task :app:mergeGitpullArtProfile |
28 | > Task :app:compileGitpullShaders NO-SOURCE |
29 | > Task :app:generateGitpullAssets UP-TO-DATE |
30 | > Task :app:mergeGitpullAssets |
31 | > Task :app:checkGitpullDuplicateClasses |
32 | > Task :app:compressGitpullAssets |
33 | > Task :app:mergeGitpullResources |
34 | > Task :app:collectGitpullDependencies |
35 | > Task :app:sdkGitpullDependencyData |
36 | > Task :app:writeGitpullAppMetadata |
37 | > Task :app:writeGitpullSigningConfigVersions |
38 | > Task :app:processGitpullManifestForPackage |
39 | > Task :app:processGitpullResources |
40 | > Task :app:optimizeGitpullResources |
41 | > Task :app:mergeExtDexGitpull |
42 | > Task :app:kaptGenerateStubsGitpullKotlin |
43 | |
44 | > Task :app:kaptGitpullKotlin |
45 | /var/drydock/workingcopy-112/repo/libre-busto/app/build/tmp/kapt3/stubs/gitpull/it/reyboz/bustorino/data/gtfs/GtfsAgency.java:24: warning: Primary key constraint on gtfsId is ignored when being merged into it.reyboz.bustorino.data.gtfs.GtfsAgency |
46 | private it.reyboz.bustorino.data.gtfs.GtfsFeed feed; |
47 | ^ |
48 | |
49 | > Task :app:compileGitpullKotlin |
50 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/ActivityIntro.kt:49:75 Parameter 'tab' is never used, could be renamed to _ |
51 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/adapters/RouteOnlyLineAdapter.kt:34:33 Parameter 'showOnlyEmpty' is never used |
52 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/backend/mato/MQTTMatoClient.kt:208:15 Variable 'line' is never used |
53 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/backend/mato/MQTTMatoClient.kt:264:62 No cast needed |
54 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/backend/mato/MQTTMatoClient.kt:301:17 Variable 'valid' is assigned but never accessed |
55 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/data/MatoPatternsDownloadWorker.kt:58:13 Variable 'notificationManager' is never used |
56 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/data/MatoTripsDownloadWorker.kt:101:13 Variable 'notificationManager' is never used |
57 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/BackupImportFragment.kt:204:33 Variable 'updated' is never used |
58 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/IntroFragment.kt:172:43 'setColorFilter(Int, PorterDuff.Mode): Unit' is deprecated. Deprecated in Java |
59 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/IntroFragment.kt:178:66 Parameter 'maxDpToScale' is never used |
60 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/IntroFragment.kt:213:24 'setColorFilter(Int, PorterDuff.Mode): Unit' is deprecated. Deprecated in Java |
61 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt:106:41 There is more than one label with such a name in this scope |
62 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt:136:16 Condition 'fragmentListener == null' is always 'false' |
63 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt:174:63 Parameter 'stopName' is never used, could be renamed to _ |
64 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt:312:23 Unnecessary safe call on a non-null receiver of type MapView |
65 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt:389:43 Parameter 'view' is never used |
66 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt:586:36 Condition 'map == null' is always 'false' |
67 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt:655:66 Parameter 'polyline' is never used, could be renamed to _ |
68 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt:655:76 Parameter 'mapView' is never used, could be renamed to _ |
69 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt:655:85 Parameter 'eventPos' is never used, could be renamed to _ |
70 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt:677:13 Variable 'numStops' is never used |
71 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt:750:35 Variable 'marker' initializer is redundant |
72 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt:799:21 Condition 'busPositionsOverlay != null' is always 'true' |
73 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt:856:46 'getter for zoomLevel: Int' is deprecated. Deprecated in Java |
74 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesGridShowingFragment.kt:203:13 Variable 'durArrow' is never used |
75 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/TestRealtimeGtfsFragment.kt:84:27 Parameter 'cont' is never used, could be renamed to _ |
76 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/map/BusInfoWindow.kt:45:36 Parameter 'view' is never used, could be renamed to _ |
77 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/map/BusInfoWindow.kt:45:42 Parameter 'motionEvent' is never used, could be renamed to _ |
78 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/map/BusInfoWindow.kt:88:17 Variable 'layPars' is never used |
79 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/middleware/AppLocationManager.kt:185:27 'LocationProvider' is deprecated. Deprecated in Java |
80 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/middleware/AppLocationManager.kt:185:44 'OUT_OF_SERVICE: Int' is deprecated. Deprecated in Java |
81 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/middleware/AppLocationManager.kt:185:72 'LocationProvider' is deprecated. Deprecated in Java |
82 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/middleware/AppLocationManager.kt:185:89 'TEMPORARILY_UNAVAILABLE: Int' is deprecated. Deprecated in Java |
83 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/middleware/AppLocationManager.kt:187:34 'LocationProvider' is deprecated. Deprecated in Java |
84 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/middleware/AppLocationManager.kt:187:51 'AVAILABLE: Int' is deprecated. Deprecated in Java |
85 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/middleware/AppLocationManager.kt:215:48 'Criteria' is deprecated. Deprecated in Java |
86 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:50:43 Variable 'map' initializer is redundant |
87 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:53:40 Unchecked cast: Any! to Map<String?, Any>? |
88 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:71:51 No cast needed |
89 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:73:49 No cast needed |
90 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:75:46 No cast needed |
91 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:77:48 No cast needed |
92 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:79:48 No cast needed |
93 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:81:42 No cast needed |
94 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:83:56 Unchecked cast: Any to Set<String?> |
95 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/viewmodels/LivePositionsViewModel.kt:271:29 Parameter 'req' is never used, could be renamed to _ |
96 | |
97 | > Task :app:compileGitpullJavaWithJavac |
98 | |
99 | > Task :app:dexBuilderGitpull |
100 | > Task :app:processGitpullJavaRes |
101 | > Task :app:mergeGitpullGlobalSynthetics |
102 | > Task :app:mergeGitpullJavaResource |
103 | > Task :app:mergeDexGitpull |
104 | > Task :app:compileGitpullArtProfile |
105 | > Task :app:packageGitpull |
106 | > Task :app:createGitpullApkListingFileRedirect |
107 | > Task :app:lintVitalAnalyzeGitpull |
108 | > Task :app:lintVitalReportGitpull |
109 | |
110 | > Task :app:lintVitalGitpull |
111 | |
112 | > Task :app:assembleGitpull |
113 | |
114 | BUILD SUCCESSFUL in 1m 15s |
115 | 42 actionable tasks: 42 executed |
116 |
Passed |
Clean Gradle directory to avoid nasty errors like:
1 | Found 8.1 via distributionUrl |
---|---|
2 | Running /home/phabricator-android-builder/versions/8.1/bin/gradle clean |
3 | > Task :app:clean |
4 | |
5 | BUILD SUCCESSFUL in 2s |
6 | 1 actionable task: 1 executed |
7 |
Passed |
Passed |