| Step | Arguments | | | Status |
|---|
| Start of Pipeline - (9 min 18 sec in block) | | | | |
| node - (9 min 17 sec in block) | android-x86 | | | |
| node block - (9 min 17 sec in block) | | | | |
| stage - (2.4 sec in block) | Declarative: Checkout SCM | | | |
| stage block (Declarative: Checkout SCM) - (2.3 sec in block) | | | | |
| checkout - (2.2 sec in self) | | | | |
| withEnv - (9 min 14 sec in block) | GIT_BRANCH, GIT_COMMIT, GIT_PREVIOUS_COMMIT, GIT_PREVIOUS_SUCCESSFUL_COMMIT, GIT_URL | | | |
| withEnv block - (9 min 14 sec in block) | | | | |
| withEnv - (9 min 14 sec in block) | PATH, FLUTTER_ROOT, ANDROID_SDK_ROOT, ANDROID_HOME | | | |
| withEnv block - (9 min 14 sec in block) | | | | |
| stage - (5.7 sec in block) | Install Flutter & Activate FVM | | | |
| stage block (Install Flutter & Activate FVM) - (5.6 sec in block) | | | | |
| sh - (5.5 sec in self) |
set -eux
if [ ! -d "$FLUTTER_ROOT" ]; then
echo "Cloning Flutter stable into $FLUTTER_ROOT"
git clone https://github.com/flutter/flutter.git -b stable --depth 1 "$FLUTTER_ROOT"
else
echo "Flutter already exists at $FLUTTER_ROOT"
fi
export PATH="$FLUTTER_ROOT/bin:$PATH"
flutter doctor -v
flutter pub global activate fvm
| | | |
| stage - (3.9 sec in block) | Clean workspace & caches | | | |
| stage block (Clean workspace & caches) - (3.8 sec in block) | | | | |
| deleteDir - (3.7 sec in self) | | | | |
| stage - (2.2 sec in block) | Checkout code | | | |
| stage block (Checkout code) - (2.1 sec in block) | | | | |
| checkout - (2 sec in self) | | | | |
| stage - (2.4 sec in block) | Deterministic FS (disorderfs mount) | | | |
| stage block (Deterministic FS (disorderfs mount)) - (2.3 sec in block) | | | | |
| script - (0.25 sec in block) | | | | |
| script block - (80 ms in block) | | | | |
| sh - (0.88 sec in self) | | | | |
| script - (1.1 sec in block) | | | | |
| script block - (1 sec in block) | | | | |
| sh - (0.96 sec in self) | test -f "$WORKSPACE/.disorderfs_mount_active" && echo 1 || echo 0 | | | |
| echo - (13 ms in self) | SRC_DIR set to: /home/jenkins/agent/workspace/natinfo_flutter_auth/_build | | | |
| stage - (1.2 sec in block) | FDroid-style prune (non-Android dirs) | | | |
| stage block (FDroid-style prune (non-Android dirs)) - (1.1 sec in block) | | | | |
| dir - (1 sec in block) | /home/jenkins/agent/workspace/natinfo_flutter_auth/_build | | | |
| dir block - (0.94 sec in block) | | | | |
| sh - (0.88 sec in self) |
set -eux
rm -rf ios linux macos web windows
| | | |
| stage - (17 sec in block) | Select Flutter version | | | |
| stage block (Select Flutter version) - (17 sec in block) | | | | |
| dir - (17 sec in block) | /home/jenkins/agent/workspace/natinfo_flutter_auth/_build | | | |
| dir block - (17 sec in block) | | | | |
| script - (0.42 sec in block) | | | | |
| script block - (0.27 sec in block) | | | | |
| readYaml - (0.21 sec in self) | pubspec.yaml | | | |
| sh - (17 sec in self) |
set -eux
export PUB_CACHE="$WORKSPACE/.pub-cache-fdroid"
export PATH="$PUB_CACHE/bin:$PATH"
flutter pub global activate fvm
fvm install "${FLUTTER_VERSION}"
fvm use "${FLUTTER_VERSION}" --force
fvm flutter --version
| | | |
| stage - (3.9 sec in block) | Ensure Android SDK & NDK | | | |
| stage block (Ensure Android SDK & NDK) - (3.8 sec in block) | | | | |
| sh - (3.7 sec in self) |
set -eux
/opt/android/cmdline-tools/latest/bin/sdkmanager --sdk_root="$ANDROID_HOME" "platform-tools" "platforms;android-36" "build-tools;36.0.0" "ndk;27.0.12077973"
yes | /opt/android/cmdline-tools/latest/bin/sdkmanager --sdk_root="$ANDROID_HOME" --licenses
| | | |
| stage - (1.7 sec in block) | Prepare signing material | | | |
| stage block (Prepare signing material) - (1.6 sec in block) | | | | |
| dir - (1.5 sec in block) | /home/jenkins/agent/workspace/natinfo_flutter_auth/_build | | | |
| dir block - (1.4 sec in block) | | | | |
| withCredentials - (1.3 sec in block) | | | | |
| withCredentials block - (0.94 sec in block) | | | | |
| sh - (0.91 sec in self) |
set -eux
mkdir -p android/app
cp -f "$KS" android/app/release.jks
cat > android/key.properties <<EOF
storeFile=release.jks
storePassword=$KS_PASS
keyAlias=$ALIAS
keyPassword=$KEY_PASS
EOF
| | | |
| stage - (20 sec in block) | Flutter pub get | | | |
| stage block (Flutter pub get) - (19 sec in block) | | | | |
| dir - (19 sec in block) | /home/jenkins/agent/workspace/natinfo_flutter_auth/_build | | | |
| dir block - (19 sec in block) | | | | |
| sh - (19 sec in self) |
set -eux
export PUB_CACHE="$WORKSPACE/.pub-cache-fdroid"
export PATH="$PUB_CACHE/bin:$PATH"
flutter pub global activate fvm
fvm flutter clean
rm -rf "$PUB_CACHE/hosted/pub.dev/geolocator_android-"*
fvm flutter pub get
| | | |
| stage - (1.2 sec in block) | Patch geolocator_android | | | |
| stage block (Patch geolocator_android) - (1.1 sec in block) | | | | |
| dir - (1 sec in block) | /home/jenkins/agent/workspace/natinfo_flutter_auth/_build | | | |
| dir block - (0.94 sec in block) | | | | |
| sh - (0.88 sec in self) | | | | |
| stage - (1.2 sec in block) | Tune Gradle/Kotlin for CI | | | |
| stage block (Tune Gradle/Kotlin for CI) - (1.1 sec in block) | | | | |
| dir - (1 sec in block) | /home/jenkins/agent/workspace/natinfo_flutter_auth/_build | | | |
| dir block - (0.93 sec in block) | | | | |
| sh - (0.88 sec in self) | | | | |
| stage - (7 min 54 sec in block) | Assemble split APKs (per-ABI, like F-Droid) | | | |
| stage block (Assemble split APKs (per-ABI, like F-Droid)) - (7 min 54 sec in block) | | | | |
| dir - (7 min 54 sec in block) | /home/jenkins/agent/workspace/natinfo_flutter_auth/_build | | | |
| dir block - (7 min 53 sec in block) | | | | |
| sh - (7 min 53 sec in self) |
set -eux
export PUB_CACHE="$WORKSPACE/.pub-cache-fdroid"
export PATH="$PUB_CACHE/bin:$PATH"
export PATH="$FLUTTER_ROOT/bin:$PATH"
fvm flutter build apk --release --split-per-abi --target-platform=android-x64 --verbose
fvm flutter build apk --release --split-per-abi --target-platform=android-arm --verbose
fvm flutter build apk --release --split-per-abi --target-platform=android-arm64 --verbose
| | | |
| stage - (2.1 sec in block) | Rename APKs | | | |
| stage block (Rename APKs) - (2 sec in block) | | | | |
| dir - (1.8 sec in block) | /home/jenkins/agent/workspace/natinfo_flutter_auth/_build | | | |
| dir block - (1.7 sec in block) | | | | |
| script - (1.7 sec in block) | | | | |
| script block - (1.6 sec in block) | | | | |
| readYaml - (0.28 sec in self) | pubspec.yaml | | | |
| sh - (1.2 sec in self) |
set -eux
cd build/app/outputs/flutter-apk
for f in *-release.apk; do
abi=$(echo $f | cut -d'-' -f2)
mv "$f" "net.retiolus.natinfo-${abi}-v0.14.0.apk"
done
| | | |
| stage - (14 sec in block) | Archive APKs | | | |
| stage block (Archive APKs) - (14 sec in block) | | | | |
| dir - (14 sec in block) | /home/jenkins/agent/workspace/natinfo_flutter_auth/_build | | | |
| dir block - (13 sec in block) | | | | |
| archiveArtifacts - (13 sec in self) | | | | |
| stage - (0.36 sec in block) | Publish release assets (Gitea, only on tag) | | | |
| stage block (Publish release assets (Gitea, only on tag)) - (0.22 sec in block) | | | | |
| getContext - (32 ms in self) | | | | |
| stage - (1 sec in block) | Declarative: Post Actions | | | |
| stage block (Declarative: Post Actions) - (1 sec in block) | | | | |
| sh - (0.92 sec in self) |
set +e
if [ -f "$WORKSPACE/.disorderfs_mount_active" ]; then
if mountpoint -q "$WORKSPACE/_build"; then
fusermount -u "$WORKSPACE/_build" 2>/dev/null || fusermount3 -u "$WORKSPACE/_build" 2>/dev/null || true
fi
rm -f "$WORKSPACE/.disorderfs_mount_active"
fi
| | | |