Page MenuHomeGitPull.it

Build 1036
PassedPublic

Properties

Drydock: Sign and Publish Builded APK Files

When
Completed at Jul 19 2025, 18:05 · Built for 12 s
Status
Passed
Description

The command is:

/opt/libre-busto-ci-cd/bin/publish-latest-branch-build.sh ${buildable.revision}

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:

https://lab.reyboz.it/builds/libre-busto/

Build Log 5330 (remote - stderr)
25 - 50 - 100 - Unlimited Lines

1PHP 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
11Stack 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

Build Log 5329 (remote - stdout)
25 - 50 - 100 - Unlimited Lines

6137
6138APK for **arm64\-v8a**:
6139[Download D198\-arm64\-v8a\-signed\.apk](https://lab.reyboz.it/builds/libre-busto/D198-arm64-v8a-signed.apk)
6140APK sha256: `4de611326b397bc52605aad5290a6cacd50c6641c89fa163405185bb4fcc591d`
6141
6142APK for **armeabi\-v7a**:
6143[Download D198\-armeabi\-v7a\-signed\.apk](https://lab.reyboz.it/builds/libre-busto/D198-armeabi-v7a-signed.apk)
6144APK sha256: `b2aec9ac6de1ae97dfdcf750eb9875f59fb365d1a5ccc25b4d4bcf9447250def`
6145
6146APK for **universal**:
6147[Download D198\-universal\-signed\.apk](https://lab.reyboz.it/builds/libre-busto/D198-universal-signed.apk)
6148APK sha256: `58f11c4848d9ba8be31b70b0e981c98795d0b47e58db67fd9b735693de5bf449`
6149
6150APK for **x86**:
6151[Download D198\-x86\-signed\.apk](https://lab.reyboz.it/builds/libre-busto/D198-x86-signed.apk)
6152APK sha256: `23f692e541d1e5828973983b10e6d61aa79f5b1213800fa0788fb5d2baf806ab`
6153
6154APK for **x86\_64**:
6155[Download D198\-x86\_64\-signed\.apk](https://lab.reyboz.it/builds/libre-busto/D198-x86_64-signed.apk)
6156APK sha256: `ffd25344582d598e8ba367f3edfd595664c1b38c21db2d581d09772c51a0de95`
6157
6158Adding bipbop Comment to D198
6159[INFO][2025-07-19 18:05:31] Cleaning old artifacts
6160[INFO][2025-07-19 18:05:31] Done
6161

Drydock: Assemble debug APK

When
Completed at Jul 19 2025, 18:05 · Built for 1 m, 18 s
Status
Passed
Description

This step will build an .apk using Gradle using this fantastic Docker image:

https://gitlab.com/fabmazz/android-fdroid-build-container/-/tree/ubuntu

The mentioned script is just a wrapper doing this:

/opt/libre-busto-ci-cd/bin/fdroid-docker-builder.sh
#!/bin/bash
set -euo pipefail

if [ -z "$1" ]; then
    echo "Uso: $0 <cartella-sorgente>"
    exit 1
fi

SOURCE_DIR="$(realpath "$1")"
IMAGE_NAME="${IMAGE_NAME:-fabmazza/android-build-fdroid:ubuntu}"

# Eat the first argument.
# So we pass all the other shit to gradle.
shift

if [ ! -d "$SOURCE_DIR" ]; then
    echo "Errore: '$SOURCE_DIR' non è una cartella valida"
    exit 1
fi

if [[ "$UID" = 0 ]]; then
        echo "Do not run as root."
        exit 2
fi

GID=$(id -g)

echo "[INFO] User info: $(id)"
echo "[INFO] UID=$UID"
echo "[INFO] GID=$GID"
echo "[INFO] IMAGE_NAME=$IMAGE_NAME"
echo "[INFO] SOURCE_DIR=$SOURCE_DIR"

## From this point, say what we are doing.
set -x

docker run \
  -e DESIRED_UID="$UID" \
  -e DESIRED_GID="$GID" \
  --rm \
  -v "$SOURCE_DIR":/home/vagrant/appbuild:Z \
   "$IMAGE_NAME" \
  launch_build_local $@

TODO: Use the official image by Fabio Mazza, when the "DESIRED_UID" / "DESIRED_GID" features will be merged.

Build Log 5328 (remote - stderr)
25 - 50 - 100 - Unlimited Lines

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-79/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
362 errors, 0 warnings
37
38

Build Log 5327 (remote - stdout)
25 - 50 - 100 - Unlimited Lines

85w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/viewmodels/ArrivalsViewModel.kt:124:17 Condition is always 'false'.
86w: file:///var/drydock/workingcopy-79/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/viewmodels/ArrivalsViewModel.kt:143:13 Condition is always 'true'.
87w: 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.
88
89> Task :app:compileGitpullJavaWithJavac
90
91> Task :app:generateGitpullLintVitalReportModel
92> Task :app:lintVitalAnalyzeGitpull UP-TO-DATE
93> Task :app:lintVitalReportGitpull
94> Task :app:dexBuilderGitpull
95
96> Task :app:lintVitalGitpull
97
98> Task :app:processGitpullJavaRes
99> Task :app:mergeGitpullGlobalSynthetics
100> Task :app:mergeGitpullJavaResource
101> Task :app:mergeDexGitpull
102> Task :app:compileGitpullArtProfile
103> Task :app:packageGitpull
104> Task :app:createGitpullApkListingFileRedirect
105> Task :app:assembleGitpull
106
107BUILD SUCCESSFUL in 1m 17s
10855 actionable tasks: 53 executed, 2 up-to-date
109

Drydock: Clean Gradle

When
Completed at Jul 19 2025, 18:04 · Built for 4 s
Status
Passed
This build step has since been deleted on the build plan. Some information may be omitted.
1 empty log is hidden Show all logs.

Build Log 5325 (remote - stdout)
25 - 50 - 100 - Unlimited Lines

1Found 8.7 via distributionUrl
2Running /home/phabricator-android-builder/versions/8.7/bin/gradle clean
3> Task :app:clean
4
5BUILD SUCCESSFUL in 3s
61 actionable task: 1 executed
7

Lease BusTO Working Copy

When
Completed at Jul 19 2025, 18:03 · Built for 4 s
Status
Passed

Abort Older Builds

When
Completed at Jul 19 2025, 18:03 · Built instantly
Status
Passed

Event Timeline