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 |
| 6137 | |
|---|---|
| 6138 | APK for **arm64\-v8a**: |
| 6139 | [Download D197\-arm64\-v8a\-signed\.apk](https://lab.reyboz.it/builds/libre-busto/D197-arm64-v8a-signed.apk) |
| 6140 | APK sha256: `d3c3a5e7ac89e9506ea7596c112ab15bf6651422d32454b71a4dc6d8c5b5d28e` |
| 6141 | |
| 6142 | APK for **armeabi\-v7a**: |
| 6143 | [Download D197\-armeabi\-v7a\-signed\.apk](https://lab.reyboz.it/builds/libre-busto/D197-armeabi-v7a-signed.apk) |
| 6144 | APK sha256: `0b848f6bd11b917311b8858f56629dae702504e1bc88b9f88fda63460477b383` |
| 6145 | |
| 6146 | APK for **universal**: |
| 6147 | [Download D197\-universal\-signed\.apk](https://lab.reyboz.it/builds/libre-busto/D197-universal-signed.apk) |
| 6148 | APK sha256: `1919d7ce3c3db4d1dac7ccfc98c6c18034991a08f13142c825c6d309bde10924` |
| 6149 | |
| 6150 | APK for **x86**: |
| 6151 | [Download D197\-x86\-signed\.apk](https://lab.reyboz.it/builds/libre-busto/D197-x86-signed.apk) |
| 6152 | APK sha256: `bba9fefb81cb074968e8d93cb99a5982565abfea6bcf5e30490ef7210011c913` |
| 6153 | |
| 6154 | APK for **x86\_64**: |
| 6155 | [Download D197\-x86\_64\-signed\.apk](https://lab.reyboz.it/builds/libre-busto/D197-x86_64-signed.apk) |
| 6156 | APK sha256: `6b874fbc74c0371a278fcdee51dee86f701aed6234d2f093d43fd7d0f426c12c` |
| 6157 | |
| 6158 | Adding bipbop Comment to D197 |
| 6159 | [INFO][2025-07-15 21:28:01] Cleaning old artifacts |
| 6160 | [INFO][2025-07-15 21:28:01] Done |
| 6161 |
| 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.
| 14 | <uses-permission> element there. A typical path to a debug manifest |
|---|---|
| 15 | override file in a Gradle project is src/debug/AndroidManifest.xml. |
| 16 | |
| 17 | /var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/viewmodels/ArrivalsViewModel.kt:132: Error: Expected non-nullable value [NullSafeMutableLiveData from androidx.lifecycle] |
| 18 | palinaLiveData.postValue(palina) |
| 19 | ~~~~~~ |
| 20 | |
| 21 | Explanation for issues of type "NullSafeMutableLiveData": |
| 22 | This check ensures that LiveData values are not null when explicitly |
| 23 | declared as non-nullable. |
| 24 | |
| 25 | Kotlin interoperability does not support enforcing explicit |
| 26 | null-safety when using generic Java type parameters. Since |
| 27 | LiveData is a Java class its value can always be null even |
| 28 | when its type is explicitly declared as non-nullable. This can lead |
| 29 | to runtime exceptions from reading a null LiveData value that is |
| 30 | assumed to be non-nullable. |
| 31 | |
| 32 | Vendor: Android Open Source Project |
| 33 | Identifier: androidx.lifecycle |
| 34 | Feedback: https://issuetracker.google.com/issues/new?component=413132 |
| 35 | |
| 36 | 2 errors, 0 warnings |
| 37 | |
| 38 |
| 85 | 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'. |
|---|---|
| 86 | 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'. |
| 87 | 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. |
| 88 | |
| 89 | > Task :app:compileGitpullJavaWithJavac |
| 90 | |
| 91 | > Task :app:generateGitpullLintVitalReportModel |
| 92 | > Task :app:dexBuilderGitpull |
| 93 | > Task :app:processGitpullJavaRes |
| 94 | > Task :app:mergeGitpullGlobalSynthetics |
| 95 | > Task :app:mergeGitpullJavaResource |
| 96 | > Task :app:mergeDexGitpull |
| 97 | > Task :app:compileGitpullArtProfile |
| 98 | > Task :app:packageGitpull |
| 99 | > Task :app:createGitpullApkListingFileRedirect |
| 100 | > Task :app:lintVitalAnalyzeGitpull |
| 101 | > Task :app:lintVitalReportGitpull |
| 102 | |
| 103 | > Task :app:lintVitalGitpull |
| 104 | |
| 105 | > Task :app:assembleGitpull |
| 106 | |
| 107 | BUILD SUCCESSFUL in 1m 20s |
| 108 | 55 actionable tasks: 54 executed, 1 up-to-date |
| 109 |
| Passed |
| 1 | Found 8.7 via distributionUrl |
|---|---|
| 2 | Running /home/phabricator-android-builder/versions/8.7/bin/gradle clean |
| 3 | > Task :app:clean |
| 4 | |
| 5 | BUILD SUCCESSFUL in 2s |
| 6 | 1 actionable task: 1 executed |
| 7 |
| Passed |
| Passed |