Commit d450b0b7 authored by peturbg's avatar peturbg
Browse files

Update .gitlab-ci.yml file

parent 8729bdaf
Loading
Loading
Loading
Loading
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