Loading .gitlab-ci.yml 0 → 100644 +58 −0 Original line number Diff line number Diff line image: seanghay/android-ci stages: - build # Keep Gradle caches inside the repo so GitLab cache can reuse them variables: GRADLE_USER_HOME: "$CI_PROJECT_DIR/.gradle" ANDROID_SDK_ROOT: "$ANDROID_HOME" cache: paths: - .gradle/wrapper - .gradle/caches build_ulogger_release: stage: build script: # Support either repo layout: # 1) gradle project at repo root, OR # 2) gradle project inside ./ulogger-android-master - | if [ -f "./gradlew" ]; then PROJECT_DIR="." elif [ -f "./ulogger-android-master/gradlew" ]; then PROJECT_DIR="ulogger-android-master" else echo "ERROR: gradlew not found (expected ./gradlew or ./ulogger-android-master/gradlew)" >&2 exit 1 fi cd "$PROJECT_DIR" chmod +x ./gradlew # Point Gradle at the SDK/NDK paths provided in GitLab CI/CD variables echo "sdk.dir=$ANDROID_HOME" > local.properties if [ -n "$ANDROID_NDK_HOME" ]; then echo "ndk.dir=$ANDROID_NDK_HOME" >> local.properties fi # Build a *signed* Release APK using injected signing properties ./gradlew clean :app:assembleRelease --no-daemon --stacktrace \ -Pandroid.injected.signing.store.file="$KEYSTORE_PATH" \ -Pandroid.injected.signing.store.password="$KEYSTORE_PASSWORD" \ -Pandroid.injected.signing.key.alias="$KEY_ALIAS" \ -Pandroid.injected.signing.key.password="$KEY_PASSWORD" artifacts: when: always paths: # If project is at repo root - app/build/outputs/apk/release/*.apk - app/build/outputs/mapping/release/mapping.txt # If project is inside ./ulogger-android-master - ulogger-android-master/app/build/outputs/apk/release/*.apk - ulogger-android-master/app/build/outputs/mapping/release/mapping.txt expire_in: 1 week Loading
.gitlab-ci.yml 0 → 100644 +58 −0 Original line number Diff line number Diff line image: seanghay/android-ci stages: - build # Keep Gradle caches inside the repo so GitLab cache can reuse them variables: GRADLE_USER_HOME: "$CI_PROJECT_DIR/.gradle" ANDROID_SDK_ROOT: "$ANDROID_HOME" cache: paths: - .gradle/wrapper - .gradle/caches build_ulogger_release: stage: build script: # Support either repo layout: # 1) gradle project at repo root, OR # 2) gradle project inside ./ulogger-android-master - | if [ -f "./gradlew" ]; then PROJECT_DIR="." elif [ -f "./ulogger-android-master/gradlew" ]; then PROJECT_DIR="ulogger-android-master" else echo "ERROR: gradlew not found (expected ./gradlew or ./ulogger-android-master/gradlew)" >&2 exit 1 fi cd "$PROJECT_DIR" chmod +x ./gradlew # Point Gradle at the SDK/NDK paths provided in GitLab CI/CD variables echo "sdk.dir=$ANDROID_HOME" > local.properties if [ -n "$ANDROID_NDK_HOME" ]; then echo "ndk.dir=$ANDROID_NDK_HOME" >> local.properties fi # Build a *signed* Release APK using injected signing properties ./gradlew clean :app:assembleRelease --no-daemon --stacktrace \ -Pandroid.injected.signing.store.file="$KEYSTORE_PATH" \ -Pandroid.injected.signing.store.password="$KEYSTORE_PASSWORD" \ -Pandroid.injected.signing.key.alias="$KEY_ALIAS" \ -Pandroid.injected.signing.key.password="$KEY_PASSWORD" artifacts: when: always paths: # If project is at repo root - app/build/outputs/apk/release/*.apk - app/build/outputs/mapping/release/mapping.txt # If project is inside ./ulogger-android-master - ulogger-android-master/app/build/outputs/apk/release/*.apk - ulogger-android-master/app/build/outputs/mapping/release/mapping.txt expire_in: 1 week