Source code:
https://gitpull.it/source/libre-busto-ci-cd/browse/master/bin/publish-latest-branch-build.sh
(ex P23)
This step will copy the built .apk to an indexed HTTP directory exposed by Apache, signing them:
| Passed |
Source code:
https://gitpull.it/source/libre-busto-ci-cd/browse/master/bin/publish-latest-branch-build.sh
(ex P23)
This step will copy the built .apk to an indexed HTTP directory exposed by Apache, signing them:
| 6227 | 25136870 res/tf.xml (OK - compressed) |
|---|---|
| 6228 | 25137251 res/ti.xml (OK - compressed) |
| 6229 | 25138440 res/tk.xml (OK - compressed) |
| 6230 | 25138699 res/tp.xml (OK - compressed) |
| 6231 | 25138995 res/tt.xml (OK - compressed) |
| 6232 | 25139423 res/tv.xml (OK - compressed) |
| 6233 | 25140424 res/u0.xml (OK - compressed) |
| 6234 | 25140864 res/u3.png (OK) |
| 6235 | 25141417 res/uC.xml (OK - compressed) |
| 6236 | 25141804 res/uE.webp (OK) |
| 6237 | 25156124 res/uI.xml (OK - compressed) |
| 6238 | 25157183 res/uJ.xml (OK - compressed) |
| 6239 | 25157660 res/uL.9.png (OK) |
| 6240 | 25158666 res/uR.xml (OK - compressed) |
| 6241 | 25159233 res/uR1.xml (OK - compressed) |
| 6242 | 25159712 res/uj.9.png (OK) |
| 6243 | 25159948 res/uo.xml (OK - compressed) |
| 6244 | 25160205 res/up.xml (OK - compressed) |
| 6245 | 25160460 res/ut.9.png (OK) |
| 6246 | 25161256 res/uu.9.png (OK) |
| 6247 | 25161500 res/uy.xml (OK - compressed) |
| 6248 | 25163416 res/v-.xml (OK - compressed) |
| 6249 | 25163928 res/v4.9.png (OK) |
| 6250 | 25164176 res/v5.xml (OK - compressed) |
| 6251 | 25164499 res/vF.xml (OK - compressed) |
| 6252 | 25164758 res/vG.xml (OK - compressed) |
| 6253 | 25165393 res/vH.xml (OK - compressed) |
| 6254 | 25165727 res/vJ.xml (OK - compressed) |
| 6255 | 25166056 res/vL.9.png (OK) |
| 6256 | 25166319 res/vR.xml (OK - compressed) |
| 6257 | 25166584 res/vT.xml (OK - compressed) |
| 6258 | 25166812 res/vY.xml (OK - compressed) |
| 6259 | 25167232 res/vZ.xml (OK - compressed) |
| 6260 | 25167489 res/vf.xml (OK - compressed) |
| 6261 | 25167816 res/vl.xml (OK - compressed) |
| 6262 | 25168388 res/vn.xml (OK - compressed) |
| 6263 | 25168741 res/vq.xml (OK - compressed) |
| 6264 | 25169319 res/vs.xml (OK - compressed) |
| 6265 | 25170248 res/vy.xml (OK - compressed) |
| 6266 | 25170736 res/vz.9.png (OK) |
| 6267 | 25170957 res/w9.xml (OK - compressed) |
| 6268 | 25171232 res/wL.9.png (OK) |
| 6269 | 25171712 res/wN.9.png (OK) |
| 6270 | 25171977 res/wP.xml (OK - compressed) |
| 6271 | 25172332 res/w_.png (OK) |
| 6272 | 25172588 res/wb.png (OK) |
| 6273 | 25178517 res/wi.xml (OK - compressed) |
| 6274 | 25178896 res/wy.png (OK) |
| 6275 | 25179359 res/x-.xml (OK - compressed) |
| 6276 | 25179664 res/x3.9.png (OK) |
| 6277 | 25179916 res/x4.xml (OK - compressed) |
| 6278 | 25180692 res/xH.png (OK) |
| 6279 | 25180918 res/xI.xml (OK - compressed) |
| 6280 | 25181613 res/xM.ttf (OK - compressed) |
| 6281 | 25241308 res/xR.9.png (OK) |
| 6282 | 25241544 res/xa.9.png (OK) |
| 6283 | 25241805 res/xa.xml (OK - compressed) |
| 6284 | 25242365 res/xd.xml (OK - compressed) |
| 6285 | 25243122 res/xj.xml (OK - compressed) |
| 6286 | 25243414 res/xq.xml (OK - compressed) |
| 6287 | 25243801 res/xz.xml (OK - compressed) |
| 6288 | 25245357 res/y-.xml (OK - compressed) |
| 6289 | 25245625 res/y4.xml (OK - compressed) |
| 6290 | 25245881 res/y9.xml (OK - compressed) |
| 6291 | 25246148 res/yE.xml (OK - compressed) |
| 6292 | 25246404 res/yH.9.png (OK) |
| 6293 | 25246628 res/yM.xml (OK - compressed) |
| 6294 | 25247066 res/yS.xml (OK - compressed) |
| 6295 | 25247317 res/yT.xml (OK - compressed) |
| 6296 | 25247638 res/yV.xml (OK - compressed) |
| 6297 | 25247980 res/yY.9.png (OK) |
| 6298 | 25248206 res/ya.xml (OK - compressed) |
| 6299 | 25248564 res/yd.png (OK) |
| 6300 | 25260500 res/yg.9.png (OK) |
| 6301 | 25260935 res/yj.xml (OK - compressed) |
| 6302 | 25261346 res/ym.xml (OK - compressed) |
| 6303 | 25261668 res/yn.png (OK) |
| 6304 | 25264152 res/z-.9.png (OK) |
| 6305 | 25264416 res/z9.9.png (OK) |
| 6306 | 25264876 res/zE.png (OK) |
| 6307 | 25265240 res/zG.xml (OK - compressed) |
| 6308 | 25265558 res/zN.xml (OK - compressed) |
| 6309 | 25266008 res/zR.png (OK) |
| 6310 | 25268809 res/zR.xml (OK - compressed) |
| 6311 | 25269324 res/zV.9.png (OK) |
| 6312 | 25271827 res/zc.xml (OK - compressed) |
| 6313 | 25272280 res/ze.png (OK) |
| 6314 | 25280635 res/zp.xml (OK - compressed) |
| 6315 | 25280894 res/zq.xml (OK - compressed) |
| 6316 | 25281204 res/zr.png (OK) |
| 6317 | 25284023 res/zs.xml (OK - compressed) |
| 6318 | 25284292 res/zu.xml (OK - compressed) |
| 6319 | 25285395 res/zv.xml (OK - compressed) |
| 6320 | 25286676 resources.arsc (OK) |
| 6321 | Verification successful |
| 6322 | [INFO][2026-10-18 10:21:22] APK ALIGNED D265-x86_64-aligned.apk: apksigner... creating D265-x86_64-signed.apk |
| 6323 | [INFO][2026-10-18 10:21:23] APK ALIGNED SIGNED D265-x86_64-signed.apk: calculating sha256sum... |
| 6324 | [INFO][2026-10-18 10:21:24] Cleaning old artifacts |
| 6325 | [INFO][2026-10-18 10:21:24] Done |
| 6326 |
| Passed |
This step will build an .apk using Gradle using this fantastic Docker image:
https://gitlab.com/fabmazz/android-fdroid-build-container/-/tree/ubuntu
Source code of this build step:
https://gitpull.it/source/libre-busto-ci-cd/browse/master/bin/fdroid-docker-builder.sh
TODO: Use the official image by Fabio Mazza, when the "DESIRED_UID" / "DESIRED_GID" features will be merged.
| 1 | + docker run -e DESIRED_UID=1004 -e DESIRED_GID=1004 --rm -v /var/drydock/workingcopy-79/repo/libre-busto:/home/vagrant/appbuild:Z fdroid-asder launch_build_local -Dorg.gradle.jvmargs=-Xmx2g --stacktrace assembleGitpull |
|---|---|
| 2 | Note: Some input files use or override a deprecated API. |
| 3 | Note: Recompile with -Xlint:deprecation for details. |
| 4 | /home/vagrant/appbuild/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] |
| 5 | <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/> |
| 6 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 7 | |
| 8 | Explanation for issues of type "MockLocation": |
| 9 | Using a mock location provider (by requiring the permission |
| 10 | android.permission.ACCESS_MOCK_LOCATION) should only be done in debug |
| 11 | builds (or from tests). In Gradle projects, that means you should only |
| 12 | request this permission in a test or debug source set specific manifest |
| 13 | file. |
| 14 | |
| 15 | To fix this, create a new manifest file in the debug folder and move the |
| 16 | <uses-permission> element there. A typical path to a debug manifest |
| 17 | override file in a Gradle project is src/debug/AndroidManifest.xml. |
| 18 | |
| 19 | 1 error |
| 20 | |
| 21 |
| 70 | > Task :app:extractGitpullNativeSymbolTables |
|---|---|
| 71 | > Task :app:expandGitpullL8ArtProfileWildcards |
| 72 | > Task :app:mergeGitpullNativeDebugMetadata NO-SOURCE |
| 73 | > Task :app:generateGitpullBuildConfig |
| 74 | > Task :app:protobufDummy UP-TO-DATE |
| 75 | > Task :app:checkGitpullDuplicateClasses |
| 76 | > Task :app:extractGitpullProto |
| 77 | > Task :app:extractIncludeGitpullProto |
| 78 | > Task :app:extractProto |
| 79 | > Task :app:generateGitpullProto |
| 80 | > Task :app:checkGitpullAarMetadata |
| 81 | > Task :app:mapGitpullSourceSetPaths |
| 82 | > Task :app:processGitpullNavigationResources |
| 83 | > Task :app:compileGitpullNavigationResources |
| 84 | > Task :app:extractGitpullSupportedLocales |
| 85 | > Task :app:generateGitpullResources |
| 86 | > Task :app:generateGitpullLocaleConfig |
| 87 | > Task :app:createGitpullCompatibleScreenManifests |
| 88 | > Task :app:extractDeepLinksGitpull |
| 89 | |
| 90 | > Task :app:processGitpullMainManifest |
| 91 | /home/vagrant/appbuild/app/src/gitpull/AndroidManifest.xml Warning: |
| 92 | service#info.mqtt.android.service.MqttService was tagged at AndroidManifest.xml:0 to replace another declaration but no other declaration present |
| 93 | /home/vagrant/appbuild/app/src/gitpull/AndroidManifest.xml Warning: |
| 94 | provider#org.acra.attachment.AcraContentProvider@android:authorities was tagged at AndroidManifest.xml:0 to replace other declarations but no other declaration present |
| 95 | |
| 96 | > Task :app:processGitpullManifest |
| 97 | > Task :app:mergeGitpullResources |
| 98 | > Task :app:javaPreCompileGitpull |
| 99 | > Task :app:desugarGitpullFileDependencies |
| 100 | > Task :app:mergeGitpullStartupProfile |
| 101 | > Task :app:processGitpullManifestForPackage |
| 102 | > Task :app:mergeExtDexGitpull |
| 103 | > Task :app:generateGitpullAssets UP-TO-DATE |
| 104 | > Task :app:mergeGitpullAssets |
| 105 | > Task :app:compressGitpullAssets |
| 106 | > Task :app:extractGitpullVersionControlInfo |
| 107 | > Task :app:extractProguardFiles |
| 108 | > Task :app:collectGitpullDependencies |
| 109 | > Task :app:sdkGitpullDependencyData |
| 110 | > Task :app:writeGitpullAppMetadata |
| 111 | > Task :app:writeGitpullSigningConfigVersions |
| 112 | > Task :app:processGitpullResources |
| 113 | > Task :app:optimizeGitpullResources |
| 114 | |
| 115 | > Task :app:kspGitpullKotlin |
| 116 | w: [ksp] /home/vagrant/appbuild/app/src/main/java/it/reyboz/bustorino/data/gtfs/GtfsAgency.kt:21: Primary key constraint on gtfsId is ignored when being merged into it.reyboz.bustorino.data.gtfs.GtfsAgency |
| 117 | |
| 118 | > Task :app:compileGitpullKotlin |
| 119 | w: file:///home/vagrant/appbuild/app/src/main/java/it/reyboz/bustorino/ActivityAbout.kt:136:13 'fun onBackPressed(): Unit' is deprecated. This method has been deprecated in favor of using the |
| 120 | {@link OnBackPressedDispatcher} via {@link #getOnBackPressedDispatcher()}. |
| 121 | The OnBackPressedDispatcher controls how back button events are dispatched |
| 122 | to one or more {@link OnBackPressedCallback} objects. |
| 123 | w: file:///home/vagrant/appbuild/app/src/main/java/it/reyboz/bustorino/data/MatoPatternsDownloadWorker.kt:34:36 'fun getStringArray(key: String): Array<String>?' is deprecated. Use getNullableStringArray(key) instead. This method does not correctly handle String arrays which may contain null elements. |
| 124 | w: file:///home/vagrant/appbuild/app/src/main/java/it/reyboz/bustorino/data/MatoTripsDownloadWorker.kt:35:35 'fun getStringArray(key: String): Array<String>?' is deprecated. Use getNullableStringArray(key) instead. This method does not correctly handle String arrays which may contain null elements. |
| 125 | w: file:///home/vagrant/appbuild/app/src/main/java/it/reyboz/bustorino/fragments/ArrivalsFragment.kt:151:21 'val loaderManager: @NonNull() LoaderManager' is deprecated. Deprecated in Java. |
| 126 | w: file:///home/vagrant/appbuild/app/src/main/java/it/reyboz/bustorino/fragments/ArrivalsFragment.kt:156:30 'val loaderManager: @NonNull() LoaderManager' is deprecated. Deprecated in Java. |
| 127 | w: file:///home/vagrant/appbuild/app/src/main/java/it/reyboz/bustorino/fragments/ArrivalsFragment.kt:404:29 'val loaderManager: @NonNull() LoaderManager' is deprecated. Deprecated in Java. |
| 128 | w: file:///home/vagrant/appbuild/app/src/main/java/it/reyboz/bustorino/fragments/ArrivalsFragment.kt:459:29 'val loaderManager: @NonNull() LoaderManager' is deprecated. Deprecated in Java. |
| 129 | w: file:///home/vagrant/appbuild/app/src/main/java/it/reyboz/bustorino/fragments/ArrivalsFragment.kt:629:20 Condition is always 'true'. |
| 130 | w: file:///home/vagrant/appbuild/app/src/main/java/it/reyboz/bustorino/fragments/IntroFragment.kt:189:43 'fun setColorFilter(p0: Int, p1: PorterDuff.Mode): Unit' is deprecated. Deprecated in Java. |
| 131 | w: file:///home/vagrant/appbuild/app/src/main/java/it/reyboz/bustorino/fragments/IntroFragment.kt:230:24 'fun setColorFilter(p0: Int, p1: PorterDuff.Mode): Unit' is deprecated. Deprecated in Java. |
| 132 | w: file:///home/vagrant/appbuild/app/src/main/java/it/reyboz/bustorino/fragments/TestRealtimeGtfsFragment.kt:55:39 The corresponding parameter in the supertype 'MQTTMatoListener' is named 'posUpdates'. This may cause problems when calling this function with named arguments. |
| 133 | w: file:///home/vagrant/appbuild/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:53:40 Unchecked cast of 'Any!' to 'Map<String?, Any>?'. |
| 134 | w: file:///home/vagrant/appbuild/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:83:56 Unchecked cast of 'Set<*>' to 'Set<String?>'. |
| 135 | w: file:///home/vagrant/appbuild/app/src/main/java/it/reyboz/bustorino/viewmodels/ArrivalsViewModel.kt:269:17 Expression under 'when' is never equal to null. |
| 136 | w: file:///home/vagrant/appbuild/app/src/main/java/it/reyboz/bustorino/viewmodels/LivePositionsViewModel.kt:146:39 The corresponding parameter in the supertype 'MQTTMatoListener' is named 'posUpdates'. This may cause problems when calling this function with named arguments. |
| 137 | |
| 138 | > Task :app:compileGitpullJavaWithJavac |
| 139 | |
| 140 | > Task :app:dexBuilderGitpull |
| 141 | > Task :app:mergeGitpullGlobalSynthetics |
| 142 | > Task :app:generateGitpullLintVitalReportModel |
| 143 | > Task :app:mergeDexGitpull |
| 144 | > Task :app:processGitpullJavaRes |
| 145 | > Task :app:mergeGitpullJavaResource |
| 146 | > Task :app:lintVitalAnalyzeGitpull |
| 147 | > Task :app:l8DexDesugarLibGitpull |
| 148 | > Task :app:compileGitpullArtProfile |
| 149 | > Task :app:lintVitalReportGitpull |
| 150 | |
| 151 | > Task :app:lintVitalGitpull |
| 152 | |
| 153 | > Task :app:packageGitpull |
| 154 | > Task :app:createGitpullApkListingFileRedirect |
| 155 | > Task :app:assembleGitpull |
| 156 | |
| 157 | [Incubating] Problems report is available at: file:///home/vagrant/appbuild/build/reports/problems/problems-report.html |
| 158 | |
| 159 | Deprecated Gradle features were used in this build, making it incompatible with Gradle 10. |
| 160 | |
| 161 | You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. |
| 162 | |
| 163 | For more on this, please refer to https://docs.gradle.org/9.3.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. |
| 164 | |
| 165 | BUILD SUCCESSFUL in 4m 49s |
| 166 | 55 actionable tasks: 55 executed |
| 167 | Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.3.1/userguide/configuration_cache_enabling.html |
| 168 | ==> Build completed |
| 169 |
| Passed |
| Passed |