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:
| 1 | PHP Fatal error: Uncaught HTTPFutureHTTPResponseStatus: [HTTP/403] |
|---|---|
| 2 | <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> |
| 3 | <html><head> |
| 4 | <title>403 Forbidden</title> |
| 5 | </head><body> |
| 6 | <h1>Forbidden</h1> |
| 7 | <p>You don't have permission to access this resource.</p> |
| 8 | <hr> |
| 9 | <address>Apache/2.4.59 (Debian) Server at gitpull.it Port 443</address> |
| 10 | </body></html> in /home/www-data/gitpull.it/arcanist/src/future/http/BaseHTTPFuture.php:384 |
| 11 | Stack trace: |
| 12 | #0 /home/www-data/gitpull.it/arcanist/src/future/http/HTTPSFuture.php(552): BaseHTTPFuture->parseRawHTTPResponse('HTTP/1.1 403 Fo...') |
| 13 | #1 /home/www-data/gitpull.it/arcanist/src/future/Future.php(65): HTTPSFuture->isReady() |
| 14 | #2 /home/www-data/gitpull.it/arcanist/src/future/FutureProxy.php(35): Future->updateFuture() |
| 15 | #3 /home/www-data/gitpull.it/arcanist/src/future/Future.php(65): FutureProxy->isReady() |
| 16 | #4 /home/www-data/gitpull.it/arcanist/src/future/FutureIterator.php(224): Future->updateFuture() |
| 17 | #5 /home/www-data/gitpull.it/arcanist/src/future/FutureIterator.php(190): FutureIterator->next() |
| 18 | #6 [inter in /home/www-data/gitpull.it/arcanist/src/future/http/BaseHTTPFuture.php on line 384 |
| 19 |
| 6067 | 24407204 res/z9.9.png (OK) |
|---|---|
| 6068 | 24407664 res/zE.png (OK) |
| 6069 | 24408028 res/zG.xml (OK - compressed) |
| 6070 | 24408348 res/zL.png (OK) |
| 6071 | 24408596 res/zR.png (OK) |
| 6072 | 24411397 res/zR.xml (OK - compressed) |
| 6073 | 24411888 res/zV.9.png (OK) |
| 6074 | 24414391 res/zc.xml (OK - compressed) |
| 6075 | 24414844 res/ze.png (OK) |
| 6076 | 24423199 res/zp.xml (OK - compressed) |
| 6077 | 24423458 res/zq.xml (OK - compressed) |
| 6078 | 24423768 res/zr.png (OK) |
| 6079 | 24426587 res/zs.xml (OK - compressed) |
| 6080 | 24426859 res/zu.xml (OK - compressed) |
| 6081 | 24427888 res/zv.xml (OK - compressed) |
| 6082 | 24429164 res/zz.png (OK) |
| 6083 | 24430092 resources.arsc (OK) |
| 6084 | Verification succesful |
| 6085 | [INFO][2025-12-19 19:36:07] APK ALIGNED D213-x86_64-aligned.apk: apksigner... creating D213-x86_64-signed.apk |
| 6086 | [INFO][2025-12-19 19:36:08] APK ALIGNED SIGNED D213-x86_64-signed.apk: calculating sha256sum... |
| 6087 | DEBUG TELEGRAM CONTENT |
| 6088 | ⚙ Dear Android hackers, please review this promising patch: |
| 6089 | https://gitpull\.it/D213 |
| 6090 | |
| 6091 | Here the related fresh test builds: |
| 6092 | |
| 6093 | APK for **arm64\-v8a**: |
| 6094 | [Download D213\-arm64\-v8a\-signed\.apk](https://lab.reyboz.it/builds/libre-busto/D213-arm64-v8a-signed.apk) |
| 6095 | APK sha256: `332b272b7509a3863abd69dfeff1f2ade3a5866c830da8fc02cf5d4d8295bf0e` |
| 6096 | |
| 6097 | APK for **armeabi\-v7a**: |
| 6098 | [Download D213\-armeabi\-v7a\-signed\.apk](https://lab.reyboz.it/builds/libre-busto/D213-armeabi-v7a-signed.apk) |
| 6099 | APK sha256: `26a361fb5b9ca423f190d720a8c789f5cd5d172df6aeade2379fd6c4af201e05` |
| 6100 | |
| 6101 | APK for **universal**: |
| 6102 | [Download D213\-universal\-signed\.apk](https://lab.reyboz.it/builds/libre-busto/D213-universal-signed.apk) |
| 6103 | APK sha256: `449279990e5e534785fa5caa29b63844e8ce7c7ae74a4222cff9d4862c00abb4` |
| 6104 | |
| 6105 | APK for **x86**: |
| 6106 | [Download D213\-x86\-signed\.apk](https://lab.reyboz.it/builds/libre-busto/D213-x86-signed.apk) |
| 6107 | APK sha256: `0a3ae22c83a6b66087e020ade2a1c56859c1287f0dbcda1fd317d8fda5d5d869` |
| 6108 | |
| 6109 | APK for **x86\_64**: |
| 6110 | [Download D213\-x86\_64\-signed\.apk](https://lab.reyboz.it/builds/libre-busto/D213-x86_64-signed.apk) |
| 6111 | APK sha256: `4c592fa0e72b5281d26120e1e0f860ded40e9ea19b0aad99fde3c2ca488a72a8` |
| 6112 | |
| 6113 | Adding bipbop Comment to D213 |
| 6114 | [INFO][2025-12-19 19:36:09] Cleaning old artifacts |
| 6115 | [INFO][2025-12-19 19:36:09] Done |
| 6116 |
| 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 | Note: Some input files use or override a deprecated API. |
|---|---|
| 2 | Note: Recompile with -Xlint:deprecation for details. |
| 3 | /var/drydock/workingcopy-79/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 error |
| 19 | |
| 20 |
| 70 | w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/ArrivalsFragment.kt:536:20 Condition is always 'true'. |
|---|---|
| 71 | w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/ArrivalsFragment.kt:599:21 'val loaderManager: LoaderManager' is deprecated. Deprecated in Java. |
| 72 | w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/ArrivalsFragment.kt:648:66 'fun execute(vararg p0: Stop!): AsyncTask<Stop!, Void!, Boolean!>!' is deprecated. Deprecated in Java. |
| 73 | w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/IntroFragment.kt:172:43 'fun setColorFilter(p0: Int, p1: PorterDuff.Mode): Unit' is deprecated. Deprecated in Java. |
| 74 | w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/IntroFragment.kt:213:24 'fun setColorFilter(p0: Int, p1: PorterDuff.Mode): Unit' is deprecated. Deprecated in Java. |
| 75 | w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt:191:21 Condition is always 'false'. |
| 76 | w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/MapLibreFragment.kt:644:25 'fun requestSingleUpdate(p0: String, p1: LocationListener, p2: Looper?): Unit' is deprecated. Deprecated in Java. |
| 77 | w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/MapLibreFragment.kt:665:26 This declaration overrides a deprecated member but is not marked as deprecated itself. Add the '@Deprecated' annotation or suppress the diagnostic. |
| 78 | w: file:///var/drydock/workingcopy-79/repo/libre-busto/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. |
| 79 | w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/middleware/AppLocationManager.kt:186:27 'class LocationProvider : Any' is deprecated. Deprecated in Java. |
| 80 | w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/middleware/AppLocationManager.kt:186:44 'static field OUT_OF_SERVICE: Int' is deprecated. Deprecated in Java. |
| 81 | w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/middleware/AppLocationManager.kt:186:72 'class LocationProvider : Any' is deprecated. Deprecated in Java. |
| 82 | w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/middleware/AppLocationManager.kt:186:89 'static field TEMPORARILY_UNAVAILABLE: Int' is deprecated. Deprecated in Java. |
| 83 | w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/middleware/AppLocationManager.kt:188:34 'class LocationProvider : Any' is deprecated. Deprecated in Java. |
| 84 | w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/middleware/AppLocationManager.kt:188:51 'static field AVAILABLE: Int' is deprecated. Deprecated in Java. |
| 85 | w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/middleware/AppLocationManager.kt:216:48 'class Criteria : Any, Parcelable' is deprecated. Deprecated in Java. |
| 86 | w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:53:40 Unchecked cast of 'Any!' to 'Map<String?, Any>?'. |
| 87 | w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:83:56 Unchecked cast of 'Set<*>' to 'Set<String?>'. |
| 88 | w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/viewmodels/ArrivalsViewModel.kt:163:17 Expression under 'when' is never equal to null. |
| 89 | w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/viewmodels/LivePositionsViewModel.kt:148:39 The corresponding parameter in the supertype 'MQTTMatoListener' is named 'posUpdates'. This may cause problems when calling this function with named arguments. |
| 90 | |
| 91 | > Task :app:compileGitpullJavaWithJavac |
| 92 | |
| 93 | > Task :app:dexBuilderGitpull |
| 94 | > Task :app:mergeGitpullGlobalSynthetics |
| 95 | > Task :app:generateGitpullLintVitalReportModel |
| 96 | > Task :app:processGitpullJavaRes |
| 97 | > Task :app:mergeGitpullJavaResource |
| 98 | > Task :app:mergeDexGitpull |
| 99 | > Task :app:compileGitpullArtProfile |
| 100 | > Task :app:lintVitalAnalyzeGitpull |
| 101 | > Task :app:lintVitalReportGitpull |
| 102 | |
| 103 | > Task :app:lintVitalGitpull |
| 104 | |
| 105 | > Task :app:packageGitpull |
| 106 | > Task :app:createGitpullApkListingFileRedirect |
| 107 | > Task :app:assembleGitpull |
| 108 | |
| 109 | [Incubating] Problems report is available at: file:///var/drydock/workingcopy-79/repo/libre-busto/build/reports/problems/problems-report.html |
| 110 | |
| 111 | Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. |
| 112 | |
| 113 | You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. |
| 114 | |
| 115 | For more on this, please refer to https://docs.gradle.org/8.13/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. |
| 116 | |
| 117 | BUILD SUCCESSFUL in 1m 33s |
| 118 | 54 actionable tasks: 53 executed, 1 up-to-date |
| 119 |
| Passed |
| 1 | Found 8.13 via distributionUrl |
|---|---|
| 2 | Running /home/phabricator-android-builder/versions/8.13/bin/gradle clean |
| 3 | > Task :app:clean |
| 4 | |
| 5 | [Incubating] Problems report is available at: file:///var/drydock/workingcopy-79/repo/libre-busto/build/reports/problems/problems-report.html |
| 6 | |
| 7 | Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. |
| 8 | |
| 9 | You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. |
| 10 | |
| 11 | For more on this, please refer to https://docs.gradle.org/8.13/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. |
| 12 | |
| 13 | BUILD SUCCESSFUL in 2s |
| 14 | 1 actionable task: 1 executed |
| 15 |
| Passed |
| Passed |