diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 78ccef6..ec24c52 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -290,7 +290,7 @@ steps: git config --global user.email "$${GIT_EMAIL:-android-builder@buildkite.local}" git config --global user.name "$${GIT_NAME:-Buildkite Android Builder}" git config --global color.ui auto - git config --global init.defaultBranch main + git config --global init.defaultBranch master # Generate installation verification report { diff --git a/build-config-garnet.env b/build-config-garnet.env index 7286114..a6e88bc 100644 --- a/build-config-garnet.env +++ b/build-config-garnet.env @@ -1,44 +1,237 @@ -# ๐Ÿš€ LineageOS Build Configuration for Redmi Note 13 Pro 5G (garnet) -# Copy these environment variables to your Buildkite pipeline settings +# =================================================================== +# BUILDKITE GARNET (REDMI NOTE 13 PRO 5G) CONFIGURATION +# Complete Environment Variables for LineageOS ROM Building +# Personal Configuration for wiktoro +# =================================================================== -# ๐Ÿ“ฑ DEVICE CONFIGURATION -TARGET_DEVICE=lineage_garnet-userdebug -BUILD_VARIANT=userdebug -BUILD_TYPE=lineage +# =================== +# DEVICE CONFIGURATION +# =================== +TARGET_DEVICE="lineage_garnet-userdebug" +BUILD_VARIANT="userdebug" +BUILD_TYPE="UNOFFICIAL" -# ๐Ÿ“‚ LINEAGEOS SOURCE REPOSITORY -MANIFEST_URL=https://github.com/LineageOS/android.git -MANIFEST_BRANCH=lineage-21.0 +# =================== +# PERFORMANCE SETTINGS (Optimized for Ryzen 5 5600 + 16GB RAM) +# =================== +BUILD_JOBS="10" # 6 cores/12 threads - using 10 to leave headroom +SYNC_JOBS="6" # Conservative sync jobs for 16GB RAM +CLEAN_BUILD="false" +CCACHE_SIZE="30G" # Reduced for 16GB RAM system -# ๐ŸŒณ DEVICE TREE CONFIGURATION (for Redmi Note 13 Pro 5G - garnet) -# Add these if you have custom device trees (optional for official LineageOS devices) -# DEVICE_TREE_URL=https://github.com/LineageOS/android_device_xiaomi_garnet.git -# DEVICE_TREE_BRANCH=lineage-21.0 -# KERNEL_SOURCE_URL=https://github.com/LineageOS/android_kernel_xiaomi_garnet.git -# KERNEL_SOURCE_BRANCH=lineage-21.0 -# VENDOR_TREE_URL=https://github.com/LineageOS/android_vendor_xiaomi_garnet.git -# VENDOR_TREE_BRANCH=lineage-21.0 +# Memory Management +JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx3g" +ANDROID_COMPILE_WITH_JACK="false" -# โšก PERFORMANCE OPTIMIZATION (adjust based on your build server) -BUILD_JOBS=16 # Recommended: Number of CPU cores -SYNC_JOBS=8 # Recommended: Half of BUILD_JOBS -CCACHE_SIZE=200G # Already set in pipeline +# =================== +# ROM SOURCE CONFIGURATION +# =================== +MANIFEST_URL="https://github.com/LineageOS/android.git" +MANIFEST_BRANCH="lineage-22.0" -# ๐Ÿ”ง GIT CONFIGURATION -GIT_EMAIL=android-builder@buildkite.local -GIT_NAME=LineageOS Builder +# =================== +# DEVICE TREE CONFIGURATION +# =================== +# Primary Device Tree (Most Active - CRDroid Android) +DEVICE_TREE_URL="https://github.com/crdroidandroid/android_device_xiaomi_garnet.git" +DEVICE_TREE_BRANCH="15.0" -# ๐Ÿงน BUILD OPTIONS -CLEAN_BUILD=false # Set to 'true' for clean builds (takes longer) -IGNORE_DEVICE_CHECK=false +# Alternative Device Trees (Uncomment to use instead) +# DEVICE_TREE_URL="https://github.com/garnet-random/android_device_xiaomi_garnet.git" +# DEVICE_TREE_BRANCH="lineage-22.2" +# +# DEVICE_TREE_URL="https://github.com/Matrixx-Devices/android_device_xiaomi_garnet.git" +# DEVICE_TREE_BRANCH="14.0" -# ๐Ÿ“ข NOTIFICATIONS (Optional - add your Slack webhook) -# SLACK_WEBHOOK=https://hooks.slack.com/services/YOUR/WEBHOOK/URL +# =================== +# KERNEL SOURCE CONFIGURATION +# =================== +# Official Xiaomi Kernel Source +KERNEL_SOURCE_URL="https://github.com/MiCode/Xiaomi_Kernel_OpenSource.git" +KERNEL_SOURCE_BRANCH="garnet-t-oss" -# ๐Ÿ”’ SECURITY (Optional - for signed builds) -ENABLE_SIGNING=false -# SIGNING_KEY_PATH=/path/to/your/signing/keys +# Alternative Prebuilt Kernel (Uncomment to use instead) +# KERNEL_SOURCE_URL="https://github.com/garnet-playground/android_device_xiaomi_garnet-kernel.git" +# KERNEL_SOURCE_BRANCH="lineage-22.2" -# ๐Ÿ“Š ADVANCED CONFIGURATION -USE_CCACHE=1 # Already set in pipeline -PIPELINE_VERSION=3.0.0 # Already set in pipeline \ No newline at end of file +# =================== +# VENDOR CONFIGURATION +# =================== +# Firmware Blobs +VENDOR_TREE_URL="https://github.com/garnet-stuff/vendor_xiaomi_garnet-firmware.git" +VENDOR_TREE_BRANCH="14" + +# Alternative Vendor Trees (Add if needed) +VENDOR_TREE_URL_2="https://github.com/TheMuppets/proprietary_vendor_xiaomi.git" +VENDOR_TREE_BRANCH_2="lineage-22.0" + +# =================== +# COMMON TREES +# =================== +# SM7435 Common +COMMON_TREE_URL="https://github.com/crdroidandroid/android_device_qcom_sm7435-common.git" +COMMON_TREE_BRANCH="15.0" + +# =================== +# HARDWARE ABSTRACTION LAYERS +# =================== +# HAL repositories (automatically detected by device tree) +QCOM_HAL_URL="https://github.com/LineageOS/android_hardware_qcom_audio.git" +QCOM_HAL_BRANCH="lineage-22.0" + +# =================== +# COMPILER CONFIGURATION (Ryzen 5 5600 Optimized) +# =================== +USE_CCACHE="true" +CCACHE_COMPRESS="true" +CCACHE_EXEC="ccache" +CCACHE_MAXSIZE="30G" + +# Java Heap Settings (Conservative for 16GB RAM) +ANDROID_JACK_VM_ARGS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx3g" +GRADLE_OPTS="-Dorg.gradle.jvmargs=-Xmx3g -Dorg.gradle.parallel=true" + +# =================== +# BUILD OPTIMIZATION +# =================== +# Skip unnecessary builds +SKIP_ABI_CHECKS="true" +ALLOW_MISSING_DEPENDENCIES="true" + +# Parallel processing (Optimized for 6 cores) +BOARD_KERNEL_IMAGE_NAME="Image" +TARGET_KERNEL_ARCH="arm64" +NINJA_ARGS="-j8" # Ninja build jobs for Ryzen 5 5600 + +# =================== +# DEVICE SPECIFIC SETTINGS +# =================== +# Garnet Specifications +TARGET_ARCH="arm64" +TARGET_ARCH_VARIANT="armv8-a" +TARGET_CPU_ABI="arm64-v8a" +TARGET_CPU_VARIANT="cortex-a78" + +# Secondary Architecture +TARGET_2ND_ARCH="arm" +TARGET_2ND_ARCH_VARIANT="armv8-a" +TARGET_2ND_CPU_ABI="armeabi-v7a" +TARGET_2ND_CPU_ABI2="armeabi" +TARGET_2ND_CPU_VARIANT="cortex-a55" + +# =================== +# QUALCOMM SPECIFIC +# =================== +# Board Platform +TARGET_BOARD_PLATFORM="taro" +BOARD_VENDOR="xiaomi" + +# Snapdragon 7s Gen 2 (SM7435) +TARGET_BOOTLOADER_BOARD_NAME="garnet" + +# =================== +# DEBUGGING & TESTING +# =================== +IGNORE_DEVICE_CHECK="false" +BUILDKITE_ANALYTICS_TOKEN="" + +# Test Build Settings +TARGET_BUILD_TESTS="false" +WITH_DEXPREOPT="true" + +# =================== +# NOTIFICATION SETTINGS +# =================== +# Slack Integration (Optional - Add your webhook URL) +SLACK_WEBHOOK="" +SLACK_CHANNEL="#wiktoro-builds" +SLACK_USERNAME="wiktoro ROM Builder" + +# =================== +# SECURITY & SIGNING +# =================== +# Build Keys (Use test keys for unofficial builds) +TARGET_BUILD_VARIANT="userdebug" +PRODUCT_DEFAULT_DEV_CERTIFICATE="build/target/product/security/testkey" + +# =================== +# OUTPUT CONFIGURATION +# =================== +# Build Output +ANDROID_PRODUCT_OUT="/home/wiktoro/android-builds" +DIST_DIR="out/dist" + +# Artifact Naming +BUILD_NUMBER="${BUILDKITE_BUILD_NUMBER:-$(date +%Y%m%d)}" +VERSION_NUMBER="22.0-${BUILD_NUMBER}-wiktoro-garnet" + +# =================== +# BACKUP REPOSITORIES +# =================== +# Fallback Device Trees +FALLBACK_DEVICE_TREE_1="https://github.com/acidhosting/xiaomi_garnet.git" +FALLBACK_DEVICE_TREE_BRANCH_1="14.0" + +FALLBACK_DEVICE_TREE_2="https://github.com/Matrixx-Devices/android_device_xiaomi_garnet.git" +FALLBACK_DEVICE_TREE_BRANCH_2="14.0" + +# =================== +# ADDITIONAL DEPENDENCIES +# =================== +# Extra repositories needed for garnet +SEPOLICY_VNDR_URL="https://github.com/LineageOS/android_device_qcom_sepolicy_vndr.git" +SEPOLICY_VNDR_BRANCH="lineage-22.0" + +# Audio HAL +AUDIO_HAL_URL="https://github.com/LineageOS/android_hardware_qcom_audio.git" +AUDIO_HAL_BRANCH="lineage-22.0" + +# Display HAL +DISPLAY_HAL_URL="https://github.com/LineageOS/android_hardware_qcom_display.git" +DISPLAY_HAL_BRANCH="lineage-22.0" + +# Media HAL +MEDIA_HAL_URL="https://github.com/LineageOS/android_hardware_qcom_media.git" +MEDIA_HAL_BRANCH="lineage-22.0" + +# =================== +# GIT CONFIGURATION +# =================== +GIT_USER_NAME="wiktoro" +GIT_USER_EMAIL="wiktoro@buildkite.local" +GIT_LFS_SKIP_SMUDGE="1" + +# =================== +# ADVANCED SETTINGS (Ryzen 5 5600 Optimized) +# =================== +# Memory optimization for 16GB RAM +SOONG_JAVAC_WRAPPER="true" +USE_SOONG_UI="true" +SOONG_UI_NINJA_ARGS="-j8" + +# Build system +KBUILD_BUILD_HOST="wiktoro-buildkite" +KBUILD_BUILD_USER="wiktoro" + +# =================== +# WORKSPACE CONFIGURATION +# =================== +# Local paths for wiktoro's setup +WORKSPACE_ROOT="/home/wiktoro/Dokumenty/Buildkite rom development" +ANDROID_BUILD_TOP="/home/wiktoro/android" +CCACHE_DIR="/home/wiktoro/.ccache" + +# =================== +# ENVIRONMENT INFO +# =================== +# This configuration is optimized for: +# - User: wiktoro +# - CPU: AMD Ryzen 5 5600 (6 cores/12 threads) +# - RAM: 16GB +# - Device: Redmi Note 13 Pro 5G (garnet) +# - SoC: Snapdragon 7s Gen 2 (SM7435) +# - ROM: LineageOS 22.0 (Android 15) +# - Build System: Buildkite CI/CD +# - OS: Linux 6.12.35-1-lts +# - Shell: /usr/bin/zsh +# - Last Updated: $(date +%Y-%m-%d) \ No newline at end of file