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(547): BaseHTTPFuture->parseRawHTTPResponse('HTTP/1.1 403 Fo...') |
| 13 | #1 /home/www-data/gitpull.it/arcanist/src/future/Future.php(63): 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(63): 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 |
| 5982 | 24303535 res/vG.xml (OK - compressed) |
|---|---|
| 5983 | 24304171 res/vH.xml (OK - compressed) |
| 5984 | 24304503 res/vJ.xml (OK - compressed) |
| 5985 | 24304832 res/vL.9.png (OK) |
| 5986 | 24305095 res/vR.xml (OK - compressed) |
| 5987 | 24305360 res/vT.xml (OK - compressed) |
| 5988 | 24305588 res/vZ.xml (OK - compressed) |
| 5989 | 24305845 res/vf.xml (OK - compressed) |
| 5990 | 24306172 res/vl.xml (OK - compressed) |
| 5991 | 24306743 res/vn.xml (OK - compressed) |
| 5992 | 24307096 res/vq.xml (OK - compressed) |
| 5993 | 24307672 res/vy.xml (OK - compressed) |
| 5994 | 24308160 res/vz.9.png (OK) |
| 5995 | 24308384 res/w7.png (OK) |
| 5996 | 24308694 res/w7.xml (OK - compressed) |
| 5997 | 24309452 res/w9.xml (OK - compressed) |
| 5998 | 24309724 res/wL.9.png (OK) |
| 5999 | 24310204 res/wN.9.png (OK) |
| 6000 | 24310469 res/wP.xml (OK - compressed) |
| 6001 | 24310824 res/w_.png (OK) |
| 6002 | 24311080 res/wb.png (OK) |
| 6003 | 24317009 res/wi.xml (OK - compressed) |
| 6004 | 24317384 res/wy.png (OK) |
| 6005 | 24317852 res/x3.9.png (OK) |
| 6006 | 24318104 res/xH.png (OK) |
| 6007 | 24318330 res/xI.xml (OK - compressed) |
| 6008 | 24319031 res/xM.ttf (OK - compressed) |
| 6009 | 24378721 res/xN.xml (OK - compressed) |
| 6010 | 24379556 res/xR.9.png (OK) |
| 6011 | 24379792 res/xa.9.png (OK) |
| 6012 | 24380053 res/xa.xml (OK - compressed) |
| 6013 | 24380615 res/xd.xml (OK - compressed) |
| 6014 | 24381325 res/xj.xml (OK - compressed) |
| 6015 | 24381617 res/xq.xml (OK - compressed) |
| 6016 | 24382005 res/xz.xml (OK - compressed) |
| 6017 | 24383197 res/y-.xml (OK - compressed) |
| 6018 | 24383465 res/y4.xml (OK - compressed) |
| 6019 | 24383721 res/y9.xml (OK - compressed) |
| 6020 | 24383990 res/yE.xml (OK - compressed) |
| 6021 | 24384248 res/yH.9.png (OK) |
| 6022 | 24384472 res/yS.xml (OK - compressed) |
| 6023 | 24384723 res/yT.xml (OK - compressed) |
| 6024 | 24385045 res/yV.xml (OK - compressed) |
| 6025 | 24385384 res/yY.9.png (OK) |
| 6026 | 24385610 res/ya.xml (OK - compressed) |
| 6027 | 24385968 res/yd.png (OK) |
| 6028 | 24397904 res/yg.9.png (OK) |
| 6029 | 24398339 res/yj.xml (OK - compressed) |
| 6030 | 24398736 res/yn.png (OK) |
| 6031 | 24401220 res/z-.9.png (OK) |
| 6032 | 24401484 res/z9.9.png (OK) |
| 6033 | 24401944 res/zE.png (OK) |
| 6034 | 24402308 res/zG.xml (OK - compressed) |
| 6035 | 24402628 res/zL.png (OK) |
| 6036 | 24402876 res/zR.png (OK) |
| 6037 | 24405677 res/zR.xml (OK - compressed) |
| 6038 | 24406168 res/zV.9.png (OK) |
| 6039 | 24408671 res/zc.xml (OK - compressed) |
| 6040 | 24409124 res/ze.png (OK) |
| 6041 | 24417479 res/zp.xml (OK - compressed) |
| 6042 | 24417738 res/zq.xml (OK - compressed) |
| 6043 | 24418048 res/zr.png (OK) |
| 6044 | 24420867 res/zs.xml (OK - compressed) |
| 6045 | 24421139 res/zu.xml (OK - compressed) |
| 6046 | 24422168 res/zv.xml (OK - compressed) |
| 6047 | 24423444 res/zz.png (OK) |
| 6048 | 24424372 resources.arsc (OK) |
| 6049 | Verification succesful |
| 6050 | [INFO][2025-10-24 20:14:59] APK ALIGNED D201-x86_64-aligned.apk: apksigner... creating D201-x86_64-signed.apk |
| 6051 | [INFO][2025-10-24 20:15:00] APK ALIGNED SIGNED D201-x86_64-signed.apk: calculating sha256sum... |
| 6052 | DEBUG TELEGRAM CONTENT |
| 6053 | ⚙ Dear Android hackers, please review this promising patch: |
| 6054 | https://gitpull\.it/D201 |
| 6055 | |
| 6056 | Here the related fresh test builds: |
| 6057 | |
| 6058 | APK for **arm64\-v8a**: |
| 6059 | [Download D201\-arm64\-v8a\-signed\.apk](https://lab.reyboz.it/builds/libre-busto/D201-arm64-v8a-signed.apk) |
| 6060 | APK sha256: `8d6532055f5191ed5d46e1fdd5f44e1b8d5cea4f434bbf1b2a8bf196a4f43402` |
| 6061 | |
| 6062 | APK for **armeabi\-v7a**: |
| 6063 | [Download D201\-armeabi\-v7a\-signed\.apk](https://lab.reyboz.it/builds/libre-busto/D201-armeabi-v7a-signed.apk) |
| 6064 | APK sha256: `b5ec5dc7d492f1627a660cbf98b934b542be06360ef1056e5bd884502bb8bb1d` |
| 6065 | |
| 6066 | APK for **universal**: |
| 6067 | [Download D201\-universal\-signed\.apk](https://lab.reyboz.it/builds/libre-busto/D201-universal-signed.apk) |
| 6068 | APK sha256: `71183d7910e7a43e99d1b4dff6272f50e22d9acadfe3f1ed692913483219886d` |
| 6069 | |
| 6070 | APK for **x86**: |
| 6071 | [Download D201\-x86\-signed\.apk](https://lab.reyboz.it/builds/libre-busto/D201-x86-signed.apk) |
| 6072 | APK sha256: `d2dba0116000e4ef5fcc46237b148584dd1ffe8b1f822582d3060502f486d1d2` |
| 6073 | |
| 6074 | APK for **x86\_64**: |
| 6075 | [Download D201\-x86\_64\-signed\.apk](https://lab.reyboz.it/builds/libre-busto/D201-x86_64-signed.apk) |
| 6076 | APK sha256: `82861558dc8db60bfb430b988cd5e93797d67d32d8859c964a6c2596eab388f0` |
| 6077 | |
| 6078 | Adding bipbop Comment to D201 |
| 6079 | [INFO][2025-10-24 20:15:01] Cleaning old artifacts |
| 6080 | [INFO][2025-10-24 20:15:01] Done |
| 6081 |
| 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-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 error |
| 19 | |
| 20 |
| 36 | > Task :app:mergeGitpullNativeDebugMetadata NO-SOURCE |
|---|---|
| 37 | > Task :app:generateGitpullResValues |
| 38 | > Task :app:checkGitpullAarMetadata |
| 39 | > Task :app:mapGitpullSourceSetPaths |
| 40 | > Task :app:extractGitpullSupportedLocales |
| 41 | > Task :app:generateGitpullResources |
| 42 | > Task :app:generateGitpullLocaleConfig |
| 43 | > Task :app:createGitpullCompatibleScreenManifests |
| 44 | > Task :app:extractDeepLinksGitpull |
| 45 | > Task :app:mergeGitpullResources |
| 46 | |
| 47 | > Task :app:processGitpullMainManifest |
| 48 | /var/drydock/workingcopy-112/repo/libre-busto/app/src/gitpull/AndroidManifest.xml Warning: |
| 49 | service#info.mqtt.android.service.MqttService was tagged at AndroidManifest.xml:0 to replace another declaration but no other declaration present |
| 50 | /var/drydock/workingcopy-112/repo/libre-busto/app/src/gitpull/AndroidManifest.xml Warning: |
| 51 | provider#org.acra.attachment.AcraContentProvider@android:authorities was tagged at AndroidManifest.xml:0 to replace other declarations but no other declaration present |
| 52 | |
| 53 | > Task :app:processGitpullManifest |
| 54 | > Task :app:processGitpullManifestForPackage |
| 55 | > Task :app:javaPreCompileGitpull |
| 56 | > Task :app:desugarGitpullFileDependencies |
| 57 | > Task :app:mergeGitpullStartupProfile |
| 58 | > Task :app:processGitpullResources |
| 59 | > Task :app:mergeExtDexGitpull |
| 60 | > Task :app:mergeGitpullArtProfile |
| 61 | > Task :app:mergeGitpullShaders |
| 62 | > Task :app:compileGitpullShaders NO-SOURCE |
| 63 | > Task :app:generateGitpullAssets UP-TO-DATE |
| 64 | > Task :app:mergeGitpullAssets |
| 65 | > Task :app:compressGitpullAssets |
| 66 | > Task :app:extractGitpullVersionControlInfo |
| 67 | > Task :app:extractProguardFiles |
| 68 | > Task :app:collectGitpullDependencies |
| 69 | > Task :app:sdkGitpullDependencyData |
| 70 | > Task :app:writeGitpullAppMetadata |
| 71 | > Task :app:writeGitpullSigningConfigVersions |
| 72 | > Task :app:optimizeGitpullResources |
| 73 | > Task :app:kspGitpullKotlin |
| 74 | w: [ksp] /var/drydock/workingcopy-112/repo/libre-busto/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 |
| 75 | |
| 76 | > Task :app:compileGitpullKotlin |
| 77 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/ActivityAbout.kt:132:13 'fun onBackPressed(): Unit' is deprecated. This method has been deprecated in favor of using the |
| 78 | {@link OnBackPressedDispatcher} via {@link #getOnBackPressedDispatcher()}. |
| 79 | The OnBackPressedDispatcher controls how back button events are dispatched |
| 80 | to one or more {@link OnBackPressedCallback} objects. |
| 81 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/ArrivalsFragment.kt:146:21 'val loaderManager: LoaderManager' is deprecated. Deprecated in Java. |
| 82 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/ArrivalsFragment.kt:151:30 'val loaderManager: LoaderManager' is deprecated. Deprecated in Java. |
| 83 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/ArrivalsFragment.kt:323:29 'val loaderManager: LoaderManager' is deprecated. Deprecated in Java. |
| 84 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/ArrivalsFragment.kt:383:29 'val loaderManager: LoaderManager' is deprecated. Deprecated in Java. |
| 85 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/ArrivalsFragment.kt:532:20 Condition is always 'true'. |
| 86 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/ArrivalsFragment.kt:595:21 'val loaderManager: LoaderManager' is deprecated. Deprecated in Java. |
| 87 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/ArrivalsFragment.kt:644:66 'fun execute(vararg p0: Stop!): AsyncTask<Stop!, Void!, Boolean!>!' is deprecated. Deprecated in Java. |
| 88 | w: file:///var/drydock/workingcopy-112/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. |
| 89 | w: file:///var/drydock/workingcopy-112/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. |
| 90 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt:176:16 Condition is always 'false'. |
| 91 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt:221:21 Condition is always 'false'. |
| 92 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/MapLibreFragment.kt:990:25 'fun requestSingleUpdate(p0: String, p1: LocationListener, p2: Looper?): Unit' is deprecated. Deprecated in Java. |
| 93 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/MapLibreFragment.kt:1011:26 This declaration overrides a deprecated member but is not marked as deprecated itself. Add the '@Deprecated' annotation or suppress the diagnostic. |
| 94 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/middleware/AppLocationManager.kt:186:27 'class LocationProvider : Any' is deprecated. Deprecated in Java. |
| 95 | w: file:///var/drydock/workingcopy-112/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. |
| 96 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/middleware/AppLocationManager.kt:186:72 'class LocationProvider : Any' is deprecated. Deprecated in Java. |
| 97 | w: file:///var/drydock/workingcopy-112/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. |
| 98 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/middleware/AppLocationManager.kt:188:34 'class LocationProvider : Any' is deprecated. Deprecated in Java. |
| 99 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/middleware/AppLocationManager.kt:188:51 'static field AVAILABLE: Int' is deprecated. Deprecated in Java. |
| 100 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/middleware/AppLocationManager.kt:216:48 'class Criteria : Any, Parcelable' is deprecated. Deprecated in Java. |
| 101 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:53:40 Unchecked cast of 'Any!' to 'Map<String?, Any>?'. |
| 102 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/util/ImportExport.kt:83:56 Unchecked cast of 'Set<*>' to 'Set<String?>'. |
| 103 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/viewmodels/ArrivalsViewModel.kt:124:17 Condition is always 'false'. |
| 104 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/viewmodels/ArrivalsViewModel.kt:143:13 Condition is always 'true'. |
| 105 | w: file:///var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/viewmodels/ArrivalsViewModel.kt:163:17 Expression under 'when' is never equal to null. |
| 106 | |
| 107 | > Task :app:compileGitpullJavaWithJavac |
| 108 | |
| 109 | > Task :app:dexBuilderGitpull |
| 110 | > Task :app:mergeGitpullGlobalSynthetics |
| 111 | > Task :app:generateGitpullLintVitalReportModel |
| 112 | > Task :app:mergeDexGitpull |
| 113 | > Task :app:processGitpullJavaRes |
| 114 | > Task :app:compileGitpullArtProfile |
| 115 | > Task :app:mergeGitpullJavaResource |
| 116 | > Task :app:lintVitalAnalyzeGitpull |
| 117 | > Task :app:lintVitalReportGitpull |
| 118 | |
| 119 | > Task :app:lintVitalGitpull |
| 120 | |
| 121 | > Task :app:packageGitpull |
| 122 | > Task :app:createGitpullApkListingFileRedirect |
| 123 | > Task :app:assembleGitpull |
| 124 | |
| 125 | [Incubating] Problems report is available at: file:///var/drydock/workingcopy-112/repo/libre-busto/build/reports/problems/problems-report.html |
| 126 | |
| 127 | Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. |
| 128 | |
| 129 | You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. |
| 130 | |
| 131 | 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. |
| 132 | |
| 133 | BUILD SUCCESSFUL in 5m 42s |
| 134 | 54 actionable tasks: 54 executed |
| 135 |
| Passed |
| 1 | Found 8.13 via distributionUrl |
|---|---|
| 2 | Downloading missing gradle version 8.13 |
| 3 | cachedir |
| 4 | /tmp/tmp.TxQmtw1IMj/gradle-8.13-bin.zip: OK |
| 5 | Running /home/phabricator-android-builder/versions/8.13/bin/gradle clean |
| 6 | |
| 7 | Welcome to Gradle 8.13! |
| 8 | |
| 9 | Here are the highlights of this release: |
| 10 | - Daemon JVM auto-provisioning |
| 11 | - Enhancements for Scala plugin and JUnit testing |
| 12 | - Improvements for build authors and plugin developers |
| 13 | |
| 14 | For more details see https://docs.gradle.org/8.13/release-notes.html |
| 15 | |
| 16 | Starting a Gradle Daemon (subsequent builds will be faster) |
| 17 | > Task :app:clean |
| 18 | |
| 19 | [Incubating] Problems report is available at: file:///var/drydock/workingcopy-112/repo/libre-busto/build/reports/problems/problems-report.html |
| 20 | |
| 21 | Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. |
| 22 | |
| 23 | You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. |
| 24 | |
| 25 | 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. |
| 26 | |
| 27 | BUILD SUCCESSFUL in 46s |
| 28 | 1 actionable task: 1 executed |
| 29 |
| Passed |
| Passed |