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 1302 100 914 100 388 6052 2569 --:--:-- --:--:-- --:--:-- 8622 |
6 |
1 | [INFO] including .env file |
---|---|
2 | Current directory: |
3 | /var/drydock/workingcopy-112/repo/libre-busto |
4 | Calculating sha256sum of: |
5 | ./app/build/outputs/apk/gitpull/app-gitpull-signed.apk |
6 | File info |
7 | -rw-r--r-- 1 phabricator-android-builder phabricator-android-builder 9753498 Jan 31 23:01 ./app/build/outputs/apk/gitpull/app-gitpull-signed.apk |
8 | Cleaning old builds |
9 | Update checksums |
10 | Published here: |
11 | https://lab.reyboz.it/builds/libre-busto/HEAD-libre-busto.apk |
12 | DEBUG TELEGRAM CONTENT |
13 | 🌚 New commit: *Enable selection of language* |
14 | https://gitpull\.it/R4:f95ef0e4b14cc09bbea85057c70de16dd5901aa8 |
15 | |
16 | Try this fresh test APK: |
17 | [Download HEAD\-libre\-busto\.apk](https:\/\/lab\.reyboz\.it\/builds\/libre\-busto\/HEAD\-libre\-busto\.apk) |
18 | |
19 | APK fingerprint sha256: |
20 | `8acca101e6556f452dfba3a9b371d0a9d7fa5786ffe4298468180f4249713298` |
21 | {"ok":true,"result":{"message_id":7682,"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":1738360906,"text":"\ud83c\udf1a New commit: Enable selection of language\nhttps://gitpull.it/R4:f95ef0e4b14cc09bbea85057c70de16dd5901aa8\n\nTry this fresh test APK:\nDownload HEAD-libre-busto.apk\n\nAPK fingerprint sha256:\n8acca101e6556f452dfba3a9b371d0a9d7fa5786ffe4298468180f4249713298","entities":[{"offset":15,"length":28,"type":"bold"},{"offset":44,"length":62,"type":"url"},{"offset":133,"length":29,"type":"text_link","url":"https://lab.reyboz.it/builds/libre-busto/HEAD-libre-busto.apk"},{"offset":188,"length":64,"type":"code"}],"link_preview_options":{"url":"https://gitpull.it/R4:f95ef0e4b14cc09bbea85057c70de16dd5901aa8"}}}Cleaning |
22 | Done |
23 |
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 $?"
1196 | 8195881 res/xM.ttf (OK - compressed) |
---|---|
1197 | 8255571 res/xN.xml (OK - compressed) |
1198 | 8256403 res/xQ.xml (OK - compressed) |
1199 | 8256888 res/xR.9.png (OK) |
1200 | 8257124 res/xa.9.png (OK) |
1201 | 8257385 res/xa.xml (OK - compressed) |
1202 | 8257946 res/xd.xml (OK - compressed) |
1203 | 8258661 res/xj.xml (OK - compressed) |
1204 | 8258953 res/xo.xml (OK - compressed) |
1205 | 8259239 res/xq.xml (OK - compressed) |
1206 | 8259625 res/xz.xml (OK - compressed) |
1207 | 8260814 res/y-.xml (OK - compressed) |
1208 | 8261084 res/y3.png (OK) |
1209 | 8268786 res/y4.xml (OK - compressed) |
1210 | 8269042 res/y9.xml (OK - compressed) |
1211 | 8269311 res/yE.xml (OK - compressed) |
1212 | 8269568 res/yH.9.png (OK) |
1213 | 8269792 res/yO.xml (OK - compressed) |
1214 | 8270042 res/yT.xml (OK - compressed) |
1215 | 8270364 res/yV.xml (OK - compressed) |
1216 | 8270704 res/yY.9.png (OK) |
1217 | 8270930 res/yY.xml (OK - compressed) |
1218 | 8271215 res/ya.xml (OK - compressed) |
1219 | 8271572 res/yd.png (OK) |
1220 | 8283508 res/ye.png (OK) |
1221 | 8284704 res/yg.9.png (OK) |
1222 | 8285139 res/yj.xml (OK - compressed) |
1223 | 8285536 res/yn.png (OK) |
1224 | 8288020 res/z-.9.png (OK) |
1225 | 8288284 res/z9.9.png (OK) |
1226 | 8288744 res/zE.png (OK) |
1227 | 8289108 res/zG.xml (OK - compressed) |
1228 | 8289428 res/zL.png (OK) |
1229 | 8289676 res/zP.png (OK) |
1230 | 8307636 res/zR.png (OK) |
1231 | 8310437 res/zR.xml (OK - compressed) |
1232 | 8310928 res/zV.9.png (OK) |
1233 | 8313432 res/zZ.png (OK) |
1234 | 8320127 res/zc.xml (OK - compressed) |
1235 | 8320576 res/zp.xml (OK - compressed) |
1236 | 8320834 res/zq.xml (OK - compressed) |
1237 | 8321144 res/zr.png (OK) |
1238 | 8323963 res/zu.xml (OK - compressed) |
1239 | 8324996 res/zz.png (OK) |
1240 | 8325920 res/zz.xml (OK - compressed) |
1241 | 8326112 resources.arsc (OK) |
1242 | Verification succesful |
1243 | Signing APK |
1244 | Sign concluded with exit status 0 |
1245 |
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 |
74 | 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 _ |
---|---|
75 | 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 _ |
76 | 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 |
77 | 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 |
78 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt:800:21 Condition 'busPositionsOverlay != null' is always 'true' |
79 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt:857:46 'getter for zoomLevel: Int' is deprecated. Deprecated in Java |
80 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesGridShowingFragment.kt:194:17 Variable 'showProgress' is never used |
81 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesGridShowingFragment.kt:293:13 Variable 'durArrow' is never used |
82 | 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 _ |
83 | 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 _ |
84 | 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 _ |
85 | 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 |
86 | 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 |
87 | 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 |
88 | 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 |
89 | 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 |
90 | 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 |
91 | 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 |
92 | 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 |
93 | 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 |
94 | 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>? |
95 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:71:51 No cast needed |
96 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:73:49 No cast needed |
97 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:75:46 No cast needed |
98 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:77:48 No cast needed |
99 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:79:48 No cast needed |
100 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:81:42 No cast needed |
101 | 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?> |
102 | 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 _ |
103 | |
104 | > Task :app:compileGitpullJavaWithJavac |
105 | |
106 | > Task :app:lintVitalAnalyzeGitpull |
107 | > Task :app:dexBuilderGitpull |
108 | > Task :app:mergeDexGitpull |
109 | > Task :app:processGitpullJavaRes |
110 | > Task :app:mergeGitpullGlobalSynthetics |
111 | > Task :app:compileGitpullArtProfile |
112 | > Task :app:mergeGitpullJavaResource |
113 | > Task :app:packageGitpull |
114 | > Task :app:createGitpullApkListingFileRedirect |
115 | > Task :app:lintVitalReportGitpull |
116 | |
117 | > Task :app:lintVitalGitpull |
118 | |
119 | > Task :app:assembleGitpull |
120 | |
121 | BUILD SUCCESSFUL in 3m 25s |
122 | 44 actionable tasks: 44 executed |
123 |
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 | Starting a Gradle Daemon (subsequent builds will be faster) |
4 | > Task :app:clean |
5 | |
6 | BUILD SUCCESSFUL in 17s |
7 | 1 actionable task: 1 executed |
8 |
Passed |
Passed |