mirror of
https://github.com/RetroShare/libretroshare.git
synced 2026-09-12 19:50:03 +05:00
Drop armeabi-v7a and minapi16 (EOL), build arm64-v8a at API 21/24 only. Toolchain: - Replace make_standalone_toolchain.py with direct NDK toolchain copy - Use NDK r29 compiler triple naming and llvm-ar/llvm-ranlib - Add gentoo_disturl() for hash-based Gentoo mirror URLs Dependencies: - Add librnp (openssl backend) with json-c and sexpp support - Add qemu-user for librnp cross-compilation feature detection - Replace sqlcipher with plain sqlite (RS_SQLCIPHER=OFF) - Switch rapidjson to git source for C++17 compatibility - Bump bzip2, zlib, libpng, xapian, tiff, cimg, sqlite versions CMake: - Remove Android C++14 workaround (NDK r29 std::filesystem works) - Refactor RS_RNPLIB to support inline, pre-built, and FetchContent - Add CMAKE_POLICY_VERSION_MINIMUM for CMake 4.x compatibility Dockerfile: - Move to Ubuntu 26.04, python-is-python3 - Split COPY for layer caching of SDK and toolchain builds
112 lines
4.0 KiB
YAML
112 lines
4.0 KiB
YAML
# Jobs tagged with `storage50` needs custom runners with more storage, they
|
|
# create a full build (multiple architecure, and both debug and release) a job
|
|
# for each minimum Android API level. After build the AAR packages are published
|
|
# on the project Gitlab maven repository
|
|
|
|
android-AAR-minapi21:
|
|
rules:
|
|
- if: $PROJECT_HAVE_STORAGE50_RUNNERS == "true"
|
|
image: registry.gitlab.com/retroshare/retroshare:android_aar_base_21
|
|
script:
|
|
- rm -rf /libretroshare-aar/
|
|
- >
|
|
./gradlew build publish
|
|
-Dorg.gradle.project.buildDir=/libretroshare-build/
|
|
-PANDROID_MIN_API_LEVEL=21
|
|
-PLIBRETROSHARE_SOURCE_VERSION="$CI_COMMIT_SHORT_SHA"
|
|
-PNATIVE_TOOLCHAINS_DIR="/libretroshare-native-toolchains/"
|
|
tags:
|
|
- storage50
|
|
|
|
android-AAR-minapi24:
|
|
rules:
|
|
- if: $PROJECT_HAVE_STORAGE50_RUNNERS == "true"
|
|
image: registry.gitlab.com/retroshare/retroshare:android_aar_base_24
|
|
script:
|
|
- rm -rf /libretroshare-aar/
|
|
- >
|
|
./gradlew build publish
|
|
-Dorg.gradle.project.buildDir=/libretroshare-build/
|
|
-PANDROID_MIN_API_LEVEL=24
|
|
-PLIBRETROSHARE_SOURCE_VERSION="$CI_COMMIT_SHORT_SHA"
|
|
-PNATIVE_TOOLCHAINS_DIR="/libretroshare-native-toolchains/"
|
|
tags:
|
|
- storage50
|
|
|
|
|
|
# For forks that doesn't have `storage50` custom runners available the job are
|
|
# split per architecture and build type and without maven publishing, instead at
|
|
# the end of the job the artifact is made available
|
|
|
|
android-minapi21_arm64-v8a_bundleDebugAar:
|
|
rules:
|
|
- if: $PROJECT_HAVE_STORAGE50_RUNNERS != "true"
|
|
image: registry.gitlab.com/retroshare/retroshare:android_aar_base_21_arm64-v8a_bundleDebugAar
|
|
script:
|
|
- rm -rf /libretroshare-aar/
|
|
- >
|
|
./gradlew bundleDebugAar
|
|
-Dorg.gradle.project.buildDir=/libretroshare-build/
|
|
-PANDROID_MIN_API_LEVEL=21
|
|
-PLIBRETROSHARE_SOURCE_VERSION="$CI_COMMIT_SHORT_SHA"
|
|
-PNATIVE_TOOLCHAINS_DIR="/libretroshare-native-toolchains/"
|
|
-PJNI_NATIVE_LIBS_ARCHS="arm64-v8a"
|
|
- mv /libretroshare-build/outputs/aar/ $CI_PROJECT_DIR/outputs-aar/
|
|
artifacts:
|
|
paths:
|
|
- outputs-aar/
|
|
|
|
android-minapi21_arm64-v8a_bundleReleaseAar:
|
|
rules:
|
|
- if: $PROJECT_HAVE_STORAGE50_RUNNERS != "true"
|
|
image: registry.gitlab.com/retroshare/retroshare:android_aar_base_21_arm64-v8a_bundleReleaseAar
|
|
script:
|
|
- rm -rf /libretroshare-aar/
|
|
- >
|
|
./gradlew bundleReleaseAar
|
|
-Dorg.gradle.project.buildDir=/libretroshare-build/
|
|
-PANDROID_MIN_API_LEVEL=21
|
|
-PLIBRETROSHARE_SOURCE_VERSION="$CI_COMMIT_SHORT_SHA"
|
|
-PNATIVE_TOOLCHAINS_DIR="/libretroshare-native-toolchains/"
|
|
-PJNI_NATIVE_LIBS_ARCHS="arm64-v8a"
|
|
- mv /libretroshare-build/outputs/aar/ $CI_PROJECT_DIR/outputs-aar/
|
|
artifacts:
|
|
paths:
|
|
- outputs-aar/
|
|
|
|
android-minapi24_arm64-v8a_bundleDebugAar:
|
|
rules:
|
|
- if: $PROJECT_HAVE_STORAGE50_RUNNERS != "true"
|
|
image: registry.gitlab.com/retroshare/retroshare:android_aar_base_24_arm64-v8a_bundleDebugAar
|
|
script:
|
|
- rm -rf /libretroshare-aar/
|
|
- >
|
|
./gradlew bundleDebugAar
|
|
-Dorg.gradle.project.buildDir=/libretroshare-build/
|
|
-PANDROID_MIN_API_LEVEL=24
|
|
-PLIBRETROSHARE_SOURCE_VERSION="$CI_COMMIT_SHORT_SHA"
|
|
-PNATIVE_TOOLCHAINS_DIR="/libretroshare-native-toolchains/"
|
|
-PJNI_NATIVE_LIBS_ARCHS="arm64-v8a"
|
|
- mv /libretroshare-build/outputs/aar/ $CI_PROJECT_DIR/outputs-aar/
|
|
artifacts:
|
|
paths:
|
|
- outputs-aar/
|
|
|
|
android-minapi24_arm64-v8a_bundleReleaseAar:
|
|
rules:
|
|
- if: $PROJECT_HAVE_STORAGE50_RUNNERS != "true"
|
|
image: registry.gitlab.com/retroshare/retroshare:android_aar_base_24_arm64-v8a_bundleReleaseAar
|
|
script:
|
|
- rm -rf /libretroshare-aar/
|
|
- >
|
|
./gradlew bundleReleaseAar
|
|
-Dorg.gradle.project.buildDir=/libretroshare-build/
|
|
-PANDROID_MIN_API_LEVEL=24
|
|
-PLIBRETROSHARE_SOURCE_VERSION="$CI_COMMIT_SHORT_SHA"
|
|
-PNATIVE_TOOLCHAINS_DIR="/libretroshare-native-toolchains/"
|
|
-PJNI_NATIVE_LIBS_ARCHS="arm64-v8a"
|
|
- mv /libretroshare-build/outputs/aar/ $CI_PROJECT_DIR/outputs-aar/
|
|
artifacts:
|
|
paths:
|
|
- outputs-aar/
|